在 DataGridView 中填充两个 ComboBoxColumns
Populating two ComboBoxColumns in DataGridView
我在 DataGridView
中有两个 ComboBoxColumns
(第一个 col_fon
,第二个 col_mon
)。但是,DataGridView
中存在的第二个 ComboBoxColumn
只有一个 ComboBoxColumn
(col_mon
) 显示数据:
Private Sub Window_Load(sender As Object, e As EventArgs) Handles Me.Load
col_fon.ValueMember = "Code"
col_fon.DisplayMember = "Name"
col_fon.DataSource = LoadComboFon()
col_fon.SortMode = DataGridViewColumnSortMode.Automatic
col_mon.ValueMember = "Code"
col_mon.DisplayMember = "Name"
col_mon.DataSource = LoadComboMon()
col_mon.SortMode = DataGridViewColumnSortMode.Automatic
End Sub
存在于DatagridView
中的每个ComboBoxColumn
都有其适当的DataSource
,通过以下方法加载(col_mon
,即ComboBoxColumn
没有问题)使用与以下相同的方法):
Private Function LoadComboFon() As DataTable
Dim dsParFon As New DataSet
Dim dsFon As New DataSet
Dim dtFon As New DataTable
Dim Filter AS String
Try
Filter = "FONDO"
dsParFon.Tables.Add("FONDOS")
dsParFon.Tables("FONDOS").Columns.Add("FONDOS")
dsParFon.Tables("FONDOS").Rows.Add(Filter)
dsParFon.AcceptChanges()
' dsFon is loaded here with a method used by another classes
Catch ex As Exception
Throw
End Try
dtFon = dsFon.Tables(0)
dtFon.Columns("CodeFon").ColumnName = "Code"
Return dtFon
End Function
我尝试使用 EditingControlShowing
和 SelectedIndexChanged
事件,但第一个对 DataGridView
没有任何作用,另一个不能与这些列一起使用(因为它们在 DataGridView
而不是创建并插入到 DataGridView
)
是否有另一种方法可以在受影响的列中加载 DataSource
而不会出现另一个问题(和功能 ComboBoxColum
)?提前致谢
问题最终出在 ComboBoxColumn
属性中,ReadOnly
是在 ReadOnly = True
中设置的。我将其更改为 False
,现在它显示了所需的数据。
我在 DataGridView
中有两个 ComboBoxColumns
(第一个 col_fon
,第二个 col_mon
)。但是,DataGridView
中存在的第二个 ComboBoxColumn
只有一个 ComboBoxColumn
(col_mon
) 显示数据:
Private Sub Window_Load(sender As Object, e As EventArgs) Handles Me.Load
col_fon.ValueMember = "Code"
col_fon.DisplayMember = "Name"
col_fon.DataSource = LoadComboFon()
col_fon.SortMode = DataGridViewColumnSortMode.Automatic
col_mon.ValueMember = "Code"
col_mon.DisplayMember = "Name"
col_mon.DataSource = LoadComboMon()
col_mon.SortMode = DataGridViewColumnSortMode.Automatic
End Sub
存在于DatagridView
中的每个ComboBoxColumn
都有其适当的DataSource
,通过以下方法加载(col_mon
,即ComboBoxColumn
没有问题)使用与以下相同的方法):
Private Function LoadComboFon() As DataTable
Dim dsParFon As New DataSet
Dim dsFon As New DataSet
Dim dtFon As New DataTable
Dim Filter AS String
Try
Filter = "FONDO"
dsParFon.Tables.Add("FONDOS")
dsParFon.Tables("FONDOS").Columns.Add("FONDOS")
dsParFon.Tables("FONDOS").Rows.Add(Filter)
dsParFon.AcceptChanges()
' dsFon is loaded here with a method used by another classes
Catch ex As Exception
Throw
End Try
dtFon = dsFon.Tables(0)
dtFon.Columns("CodeFon").ColumnName = "Code"
Return dtFon
End Function
我尝试使用 EditingControlShowing
和 SelectedIndexChanged
事件,但第一个对 DataGridView
没有任何作用,另一个不能与这些列一起使用(因为它们在 DataGridView
而不是创建并插入到 DataGridView
)
是否有另一种方法可以在受影响的列中加载 DataSource
而不会出现另一个问题(和功能 ComboBoxColum
)?提前致谢
问题最终出在 ComboBoxColumn
属性中,ReadOnly
是在 ReadOnly = True
中设置的。我将其更改为 False
,现在它显示了所需的数据。