[英]DataGridViewComboBoxColumn in DataGridView
我正在編寫一個小型應用程序以查看和編輯mySQL表。
我想將ComboBox輸入放入DataGridView內,以便從其他表的外鍵中選擇數據。
有什么辦法嗎?
到目前為止,我僅找到以下代碼:
Dim cmb As New DataGridViewComboBoxColumn()
cmb.HeaderText = "Select Data"
cmb.Name = "cmb"
cmb.DataSource = Form1.table
cmb.DisplayMember = "adrese_id"
cmb.ValueMember = "adrese_id"
cmb.DataPropertyName = "adrese_id"
DataGridView1.Columns.Add(cmb)
Form1.adapter.Update(Form1.table)
這是我的桌子:
阿邦蒂
abonents_id PK
瓦茲
烏茲瓦爾茲
tel_num
adrese_id FK
腎上腺
adrese_id PK
dziv_num
耶拉
當我從comboBox中選擇某項時,它將僅返回到表中的值。 因此,我無法將其更改為其他任何內容。
有人知道如何解決此問題,或如何使comboBox與數據網格視圖內的外鍵一起使用嗎?
PS還有一種方法可以放置選擇列而不是原始列?
謝謝。
這是我做類似事情時想到的。
將數據插入到datagridview后,將單元格轉換為組合框。 因此,基本上,您可以像下面的代碼那樣遍歷DGV並更改單元格類型。 您將dgvDropDown項設置為數據庫中的項(當然是字符串)。 請記住,如果在下拉列表中找不到該項目的值,則會發生錯誤。
int column = 0
For row As Integer = 0 To DataGridView1.Rows.Count - 1
Dim dgvDropDown As DataGridViewComboBoxCell = New DataGridViewComboBoxCell()
dgvDropDown.Items.Add("dbItem1")
dgvDropDown.Items.Add("dbItem2")
DataGridView1.Item(column, row) = dgvDropDown
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.