检查DataGridView

时间:2016-08-18 22:14:25

标签: c# datagridview

for (int i = 0; i < completeInfoMatches.Count; i++) {
    if (!(databaseGridView.Columns.Contains(e.Node.Parent.Text))) {
        Console.WriteLine(e.Node.Parent.Text);
        databaseGridView.Columns.Add("column" + i, e.Node.Parent.Text);
    }
}

如果列已经有名称,我不希望它被添加。

我的代码似乎可行,但出于某种原因,它并没有?

1 个答案:

答案 0 :(得分:0)

您的e.Node.Parent.Text字符串似乎是指列的HeaderText而不是Name属性。如果是这种情况,那么找到HeaderText是否与e.Node.Parent.Text的值相同的代码如下

for (int i = 0; i < completeInfoMatches.Count; i++) 
{
    if (!(databaseGridView.Columns
              .Cast<DataGridViewColumn>()
              .Any(x => x.HeaderText == e.Node.Parent.Text))) 
    {
        Console.WriteLine(e.Node.Parent.Text);
        databaseGridView.Columns.Add("column" + i, e.Node.Parent.Text);
    }
}