2016-08-18 112 views
0
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); 
    } 
} 

如果該列已有名稱,我不希望它被添加。檢查DataGridView中是否存在列

我的代碼似乎會工作,但由於某種原因它不?

+2

_「不」 _ ??? –

+0

錯誤的列名? – Aybe

+3

您是否將HeaderText列的名稱混淆? – Steve

回答

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); 
    } 
}