我正在编写一个小型应用程序来查看和编辑 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
瓦尔兹
乌兹瓦尔兹
电话号码
adrese_id FK
地址
adrese_id PK
dziv_num
即拉
当我从组合框中选择某些内容时,它只会返回表中的值。所以我无法将其更改为任何其他内容。
有人知道如何解决这个问题,或者如何使组合框在数据 GridView 中使用外键吗?
附言还有一种方法可以放置该选择列而不是原始列吗?
谢谢。
最佳答案
这是我在做类似事情时想到的。
将数据插入数据 GridView 后,您将单元格转换为组合框。 所以基本上你像下面的代码一样循环遍历 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
关于mysql - DataGridView 中的 DataGridViewComboBoxColumn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350101/