4

我想检查该列是否存在,我将数据库中的数据绑定到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)

但它不起作用。

4

2 回答 2

11

Contains方法失败,因为列名是'btn'而不是'Click'

正如您在DataGridViewLinkColumn文档中看到的,是Name定义该Contains方法所处理的列名的属性。

所以你的代码应该是

if (dataGridView_stocktransferlist.Columns.Contains("btn") == true
{
    .....
}

但我建议为您的按钮起一个更有意义的名称,例如“btnLinkForEdit”,并相应地更改 if。

于 2012-10-11T09:15:10.003 回答
0

你应该检查如下:

if (dataGridView_stocktransferlist.Columns.Contains("btn"))
{
  //your code
}
于 2012-10-11T09:16:02.540 回答