【发布时间】:2016-12-30 18:55:38
【问题描述】:
我有一个名为 bindExDateGrid 的函数,它返回数据库中输入的项目具有相同名称和条形码的所有记录。这个函数的代码工作正常,但是当我检查 dataGridView checkBoxColumn 另一个复选框列出现!!
我该如何解决这个问题?
bindExDateGrid 函数的代码是:
private void bindExDateGrid()
{
cn.Open();
SqlCommand cmd = new SqlCommand("select itmName,quant,exDate from inventory where itmBar='" + sBillItemBartxt.Text + "' and itmName='" + sBillItemNametxt.Text + "'", cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
exDatedgv.DataSource = dt;
// Adding checkBox column to dataGridView
DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn();
checkColumn.Name = "itmCheckedCol";
checkColumn.HeaderText = "Selection";
checkColumn.ReadOnly = false;
exDatedgv.Columns.Add(checkColumn);
cn.Close();
}
【问题讨论】:
-
可能,当您选中复选框时,您会再次执行
bindExDateGrid。 -
@Fabio 如何停止函数的第二次执行?
-
始终使用 SQL 参数;至于问题,您显然是在重用添加一列的方法。将其拆分并仅调用一次 add-a-check-column 部分
-
@Plutonix 你的意思是参数化查询?
-
@Plutonix 如何将方法调用与添加 checkBoxColumn 分开?
标签: c# winforms data-binding datagridview