我想检查列是否存在,我将数据从数据库绑定到DataGridView
,并将链接按钮作为列添加到DataGridView
。我在按钮单击事件中使用了以下代码。
con.Open();
SqlDataAdapter dadatagrid1 =
new SqlDataAdapter("SELECT * FROM Stocktransferlocation", con);
DataSet dsdatagrid1 = new DataSet();
dadatagrid1.Fill(dsdatagrid1);
dataGridView_stocktransferlist.DataSource = dsdatagrid1.Tables[0];
con.Close();
DataGridViewLinkColumn btn = new DataGridViewLinkColumn();
dataGridView_stocktransferlist.Columns.Add(btn);
btn.HeaderText = "Click";
btn.Text = "Click Here";
btn.Name = "btn";
btn.UseColumnTextForLinkValue = true;
这是我的问题:如果我点击添加按钮,数据就会被保存,并且会出现点击链接。如果我点击下次点击出现2次。
我只想检查数据网格中是否存在列。我试过了
if (dataGridView_stocktransferlist.Columns.Contains("Click") == true)
但它不起作用。
答案 0 :(得分:6)
Contains
方法失败,因为列名称为'btn'而非'点击'。
正如您在DataGridViewLinkColumn
文档中所看到的,属性Name
定义了Contains
方法的列名称。
所以你的代码应该是
if (dataGridView_stocktransferlist.Columns.Contains("btn") == true
{
.....
}
但我建议为你的按钮提供一个更有意义的名字,比如'btnLinkForEdit'并相应地更改if。
答案 1 :(得分:0)
您应该检查如下:
if (dataGridView_stocktransferlist.Columns.Contains("btn"))
{
//your code
}