我有一个小问题。 DataGridViewComboBoxColumn
显示的值来自于 ValueMember
而不是 DisplayMember
。这个网格正常工作,当我从这一列中选择一些内容时,我看到了 DisplayMember
的值,但是当焦点丢失时,网格会显示一个 ValueMember
。我有以下代码组合框列:
statusCBoxColumn.DataSource = dt 'datatable with two fields StatusId and StatusText
statusCBoxColumn.DisplayMember = "StatusText" 'is type NVarchar
statusCBoxColumn.ValueMember = "StatusId" 'is type Int
有人可以帮我吗?
编辑:我用以下方法解决了这个问题:
Private Sub dgv_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
If (dgv.Columns(e.ColumnIndex).Name = "statusCBoxColumn") Then
If e.Value & "" > "" Then
Dim s1 As String = e.Value
e.Value = GetData("Select StatusText from Status where ID = " & e.Value).ToString()
End If
End If
End Sub
但我认为这并不是最佳解决方案...