У меня есть два ComboBoxColumns
(col_fon
является первым и col_mon
вторым) в DataGridView
. Однако только один ComboBoxColumn
(col_mon
), который является вторым ComboBoxColumn
, существующим в DataGridView
, отображает данные:
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
Каждый ComboBoxColumn
, присутствующий в DatagridView
, имеет свой собственный 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
)? Заранее спасибо