DataSet(DataSetSecurity)のDataTable(DataTableSecurity)にバインドされているVB.net(Visual Studio 2010)のDataGridView(DataGridViewSecurity)があります。 DataTableの整数フィールド(nSecLevelと呼ばれる)に基づいて設定した非バインド列(nSecurityComboBox)を追加しました。コンボボックスを設定すると、コンボボックスに何も表示されませんが、コンボボックスを選択すると、アイテムコレクションの5つの値が表示されます。ここでDatagridcomboboxの値が表示されない
は、私がデータテーブルにレコードを追加し、その後、コンボボックスを設定するために使用しているコードです:
Sub Foo()
.
.
.
DataSetSecurity.Tables(0).Rows.Add(New Object() {sName, sID, sSec})
ComboCell_Select(nRow, 3, DataGridViewSecurity, sSecRecs.nSecLevel)
MessageBox.Show("Value for the combo set at " + DataGridViewSecurity.Rows(nRow).Cells(3).Value.ToString)
.
.
.
End Sub
Private Sub ComboCell_Select(ByVal dgvRow As Integer, _
ByVal dgvCol As Integer, _
ByRef DGV As DataGridView,
ByRef nComboBoxRow As Int16)
Try
Dim CBox As DataGridViewComboBoxCell = CType(DGV.Rows(dgvRow).Cells(dgvCol), DataGridViewComboBoxCell)
Dim CCol As DataGridViewComboBoxColumn = CType(DGV.Columns(dgvCol), DataGridViewComboBoxColumn)
CBox.Value = CCol.Items(nComboBoxRow)
DGV.UpdateCellValue(dgvCol, dgvRow)
'MessageBox.Show("New value in the combo box = " + CBox.Value.ToString)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Fooの中messagebox.showは、コンボボックスに正しい値を示しているが、何も表示されません。 誰かが私が間違っているのを見ますか?
ありがとうございました。
-NCGrimbo