c# - 根据数据库mysql在datagridviewcombobox上填充
问题描述
我有一个 datagridView,它有 2 列将由数据库填充。
在数据库中我有这个:
Column1:名称 Column2:数量 Column 3:日期
a 1 2019
b 2 2018
c 3 2017
a 4 2015
所以我需要在我的组合框中显示名称 a : (1 - 2019)(4 - 2015)
我做了什么:
using (MySqlDataAdapter sda = new MySqlDataAdapter(@"SELECT DISTINCT Name ,CONCAT(Quantite ,'PCS -' ,Date) as Conc FROM articles", MyConnexion))
{
DataTable dt = new DataTable();
sda.Fill(dt);
DTG_Bordereau.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
DTG_Bordereau.Columns[0].DataPropertyName = "Name";
DTG_Bordereau.Columns[3].Width = 300;
DTG_Bordereau.DataSource = dt;
for (int i = 0; i < dt.Rows.Count; i++)
{
var val = dt.Rows[i]["Conc"].ToString();
//check if it already exists
if (!QuantiteDisponible.Items.Contains(val))
{
QuantiteDisponible.Items.Add(val);
}
}
解决方案
using (MySqlDataAdapter sda = new MySqlDataAdapter(@"SELECT DISTINCT Name FROM articles", MyConnexion))
{
DataTable dt = new DataTable();
sda.Fill(dt);
DTG_Bordereau.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
DTG_Bordereau.Columns[0].DataPropertyName = "Name";
DTG_Bordereau.Columns[3].Width = 300;
DTG_Bordereau.DataSource = dt;
try
{
for (int i = 0; i < dt.Rows.Count; i++)
{
QuantiteDisponible.Items.Clear();
MySqlDataAdapter sda2 = new MySqlDataAdapter("SELECT DISTINCT CONCAT(Quantite ,'PCS -' ,Date) as Conc FROM articles where Name='" + dt.Rows[i][0].ToString() + "'", MyConnexion);
DataTable dt2 = new DataTable();
sda2.Fill(dt2);
QuantiteDisponible.DataSource = dt2;
QuantiteDisponible.DisplayMember = "Conc";
QuantiteDisponible.ValueMember = "Conc";
}
}
catch
{ }
}
因此,使用此代码,我的第一个组合框是正确的,但其他组合框采用与第一个组合框相同的值....
推荐阅读
- javascript - Javascript:如何从另一个数组创建具有“x”个属性的数组?
- javascript - 如何将包含空格的字符串转换为有组织的对象
- python - 如何使用 np.dtype 或类似的东西在 numpy 中创建数组数据类型?
- node.js - 环回 ACL 允许用户角色访问模型上的 GET 但不能访问 POST
- c# - 如何验证音频 CD 上的 cda 文件是 C# 中 wav 文件的结果
- arduino - 为什么nrf8001蓝牙芯片在sd卡添加到SPI总线时不工作?
- date - 如何在 NestJS 中无时间设置格式“dd/mm/yy”
- google-sheets - 在google sheet中查询最近7天
- python - 为什么我在导入 django rest 框架时出错?
- c# - 如何让角色向左或向右跳到固定位置?