0
選擇一個項目我有DataGridViews一個相當長的一段經歷,我解決不了這個超級簡單的問題...在Datagridviewcomboboxcolumn
我有一個comboboxcolumn一個DataGridView 預先設定可能的選項(3個簡單的選項) 。我有一個表格的數據庫,我想爲列中的單元格選擇正確的值。我需要保留用戶可能稍後更改選項的選項(並將其保存回數據庫)。
我創建了選項的數據表:
Dim dtShift As New DataTable
dtShift.Columns.Add("ValueM")
dtShift.Columns.Add("DisplayM")
dtShift.Rows.Add({123, "123"})
dtShift.Rows.Add({345, "345"})
dtShift.Rows.Add({678, "678"})
然後我給你這樣(DS爲數據集數據填充)值:
Me.DataGridView1.AutoGenerateColumns = False
Dim colpon As DataGridViewComboBoxColumn = Me.DataGridView1.Columns("PonLen")
With colpon
.DataSource = dtShift
.ValueMember = "ValueM"
.DisplayMember = "DisplayM"
.DataPropertyName = "PonLen".ToString ' contains an option like "345"
'.ValueMember = "PonLen" ' not needed, if Display member is saved
End With
...但是這行不通好吧,儘管它儘可能的接近我所能得到的。我 列具有正確的選項,有選擇正確的價值觀,但DataErrorEvent洪水與錯誤像這樣的測試日誌文本框:
Row=12 cell=3 : System.FormatException: DataGridViewComboBoxCell value is not valid.
列'PonLen'的類型是什麼?確保輸入該列與選項DataTable中的'ValueM'列的類型相同。 – Fabio
PonLen是TinyInt。我會看看如何爲數據表列指定數據類型。 –
我指定的值成員的數據類型:dtShift.Columns(0).DataType = System.Type.GetType(「System.Int32」) - 但它沒有幫助解決此問題... –