2016-12-30 69 views
0

我有一个叫做的函数bindExDateGrid它返回数据库中所有记录与输入项目具有相同名称和条形码..该函数的代码正常工作,但当我检查dataGridView checkBoxColumn另一个checkBoxColumn出现!
我该如何解决这个问题?
代码为bindExDateGrid功能是:当第一个checkBox列被选中时获取两个DataGridViewCheckBoxColumn

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(); 
} 
+0

可能的是,当您选中复选框时,您将再次执行'bindExDateGrid'。 – Fabio

+0

@Fabio如何停止函数的第二次执行? –

+0

始终使用SQL参数;至于这个问题,你显然正在重复使用添加一列的方法。将其拆分并仅添加一次检查列部分 – Plutonix

回答

0

我通过使用代码设计添加列的dataGridView解决了这个问题,现在当我选中该复选框没有更多的复选框出现。

相关问题