Vb.net DataGridView上的组合框
我在datagridview上有一个组合框。我能够填充组合框的值,但我没有做到的是在加载datagridview时将数据库值填充到组合框“文本”中 我希望这是有道理的。基本上,我只希望返回的数据反映在组合框显示中 非常感谢您的帮助Vb.net DataGridView上的组合框,vb.net,datagridview,combobox,Vb.net,Datagridview,Combobox,我在datagridview上有一个组合框。我能够填充组合框的值,但我没有做到的是在加载datagridview时将数据库值填充到组合框“文本”中 我希望这是有道理的。基本上,我只希望返回的数据反映在组合框显示中 非常感谢您的帮助 Dim cbo As DataGridViewComboBoxColumn If GlobalVariables.UsrSite = 0 Then SQL.ReadQuery("Select LogsReason as [Lo
Dim cbo As DataGridViewComboBoxColumn
If GlobalVariables.UsrSite = 0 Then
SQL.ReadQuery("Select 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 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
dgvUDO.DataSource = SQL.SQLDS.Tables(0)
cbo.DataSource = SQL.SQLDS.Tables(0)
cbo.DisplayMember = "Logs Update"
cbo.ValueMember = "Logs Update"
cbo.DataPropertyName = "Logs Update"
我得到异常错误,说“日志更新”不存在,但它加载在datagridview中
我最终做了这件事,这对我很有用
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"
这使我能够调用datagridview返回的db中的值作为组合框“文本”值,但将下拉项显示为另一个表中的项。谢谢John,这个问题似乎已经解决了,老实说,我不知道如何解决,当我再次运行它时,它起了作用。另一个问题是如何填充下拉列表中的项目我查看表1中的值列表,如何使用表1填充项目,以及在加载datagridview时,displaymember是否反映该行数据中的任何内容?