簡體   English   中英

DataGridView中的DataGridViewComboBoxColumn

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM