如何使用 mysql 命令在 datagridview 中创建组合框?

问题描述

我正在开发一个应用程序,但遇到了困难。 目前我正在使用此代码

adapter.SelectCommand = New MysqLCommand("SELECT id,description from xconfigwarehouses",connection)

table = New DataTable
adapter.Fill(table)
cmb_destino.DataSource = table
cmb_destino.displayMember = "description"
cmb_destino.ValueMember = "id"
cmb_destino.Selectedindex = -1

在应用程序中打开一个普通的组合框,但我想向 datagridview 添加一列以成为类似的东西

combobox example

项目在visual basic中

解决方法

就像您所做的那样,除了使用 datagridviewcombobox。将 DataMember 属性设置为主表的列名,如果您计划使用组合来更新网格中显示的主表

想象一下一个Person 数据表的情况,它的GenderId 列是一个int。还有一个性别表,其中包含 N 个 id:name 对,如 1:male,2:female 等。

personDt = new DataTable
personAdapter.Fill(personDt)

genderDt = new DataTable
genderAdapter.Fill(genderDt)

那么设置将是:

数据网格视图

  • 数据源 = personDt

DataGridViewComboBox

  • 数据源 = 性别数据
  • DisplayMember = "name" 'e.g. “男”、“女”
  • ValueMember = "id" '例如1、2
  • DataMember = "GenderId" 'personDt 中应链接到的列的名称

ComboBox 变成 2 种方式:当它在人性别中找到 1 时,它会查找并显示“男性”。当用户将项目更改为“女性”时,它会在性别 Dt.Id 列中关联 2 并将其存储到 personDt.GenderId

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...