2017-03-14 2 views
0

Ich habe eine Combobox auf einem Datagridview. Ich bin in der Lage, die Werte der Combobox aufzufüllen, aber was ich nicht tun kann, ist, den Datenbankwert in die Combobox "text" zu füllen, wenn die datagridview geladen wird.Combobox auf DataGridView

Ich hoffe, das macht Sinn. Grundsätzlich möchte ich nur die zurückgegebenen Daten in der Combobox Display widerspiegeln.

Ihre Hilfe wird sehr geschätzt.

Ich bekomme Ausnahmefehler sagen "Protokolle Update" existiert nicht, aber es lädt in der Datagridview.

enter image description here

+0

Danke John, das Problem scheint gelöst, ehrlich gesagt weiß ich nicht wie, als ich es wieder lief es funktionierte. Nur eine weitere Frage zum Auffüllen der Elemente in der Dropdownliste Ich schaue Tabelle 1 für die Liste der Werte an, wie befülle ich die Elemente mit Tabelle 1 und wenn das Laden der Datagridview das Displaymember reflektieren, was in den Daten für diese Zeile enthalten ist? –

Antwort

0

landete ich dies bis zu tun, die für mich gearbeitet.

Dim cbo As DataGridViewComboBoxColumn 
     cbo = dgvUDO.Columns("cboLogsUDO") 
     Dim AltDb As New DataTable 

     SQL.ReadQuery("Select Descrip from dbo.UDOLogs") 
     AltDb = SQL.SQLDS.Tables(0) 
     'LOAD DATA GRID VIEW DATA 
     If GlobalVariables.UsrSite = 0 Then 
      SQL.ReadQuery("Select ID, LogsReason as [Logs Update], IncNo as [Number], SiteName As [Site Name], FleetNo As [Fleet No], FleetType As [Fleet Type], Location, 
      SMR as [Hours], TimeDown As [Down Time], EstTimeUp as [Est Repair], DateDiff(d, TimeDown, GetDate()) as [Days Down] 
      from UDOData where status = 'Down' order by [Days Down] Desc") 
     Else 
      SQL.ReadQuery("Select ID, LogsReason as [Logs Update], IncNo as [Number], SiteName As [Site Name], FleetNo As [Fleet No], FleetType As [Fleet Type], Location, 
      SMR as [Hours], TimeDown As [Down Time], EstTimeUp as [Est Repair], DateDiff(d, TimeDown, GetDate()) as [Days Down] from UDOData 
      Where SiteID = " & GlobalVariables.UsrSite & " and Status = 'Down' order by [Days Down] Desc") 
     End If 

     'SET DATA GRIDVIEW DATA SOURCE 
     dt = SQL.SQLDS.Tables(0) 
     dgvUDO.DataSource = dt 
     dgvUDO.Rows(0).Selected = True 

     'LOAD UPDATE COMMAND FOR DATA GRIDVIEW CHANGES 
     SQL.SQLDA.UpdateCommand = New SqlClient.SqlCommandBuilder(SQL.SQLDA).GetUpdateCommand 

     'HIDE UNWANTED COLUMNS 
     dgvUDO.Columns("Logs Update").Visible = False 
     dgvUDO.Columns("ID").Visible = False 


     'SET COMBOBOX ATTRIBUTES 
     cbo.DataSource = AltDb 
     cbo.DisplayMember = "Descrip" 
     cbo.ValueMember = "Descrip" 
     cbo.DataPropertyName = "Logs Update" 

Das gibt mir die Möglichkeit, den Wert in der zurück db für die Datagridview als die Combobox „text“ Wert zu nennen, aber die Drop-down-Elemente wie die Elemente in einer anderen Tabelle zeigen.

Verwandte Themen