Я хочу отобразить столбец в DotNetBar SuperDataGrid Controll как comboBox (точнее, как GridComboBoxExEditControl
). SuperDataGrid
подключен к источнику связывания. В DataBindingComplete
Event У меня есть следующие:ComboBox Render в DotNetBar SuperDataGrid
Private Sub SuperGrid_DataBindingComplete(ByVal sender As Object, ByVal e As DevComponents.DotNetBar.SuperGrid.GridDataBindingCompleteEventArgs) Handles SuperGrid.DataBindingComplete
Dim panel As DevComponents.DotNetBar.SuperGrid.GridPanel
panel = e.GridPanel
panel.Columns("ArticleID").RenderType = GetType(MyComboBox)
panel.Columns("ArticleID").RenderParams = New Object() {ArticleBindingSource, "Article", "Article"}
End Sub
А класс MyComboBox идет:
Public Class MyComboBox
Inherits GridComboBoxExEditControl
Public Sub New(ByVal Bind As BindingSource, ByVal disp As String, ByVal val As String)
DataSource = Bind
DisplayMember = disp
ValueMember = val
End Sub
End Class
Это приводит к следующему: SuperDataGrid показывает правильные значения в ячейках. Связывание является правильным и каждое значение «ArticleID», если оно представлено как «Статья». Проблема заключается в том, что когда значение сдвигается от ArticleID = 1 to ArticleID = 2
(Статья = «Статья №1» к статье = «Artcle No2»), SuperDataGrid идет в виде бесконечного цикла, а значение начинает смещаться между 1 и 2. Я что-то делаю неправильно? Если кто-нибудь может предложить некоторые советы по этому вопросу, я буду очень благодарен. P.S. Я также попытался это:
panel.Columns("ArticleID").EditorType = GetType(GridComboBoxExEditControl)
Dim art As GridComboBoxExEditControl = DirectCast(panel.Columns("ArticleID").EditControl, GridComboBoxExEditControl)
art.DataSource = ArticleBindingSource
art.DisplayMember = "Article"
art.ValueMember = "ArticleID"
получил тот же результат.