2016-08-18 7 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文字列がないNameプロパティに列のHeaderTextを指しているようです。この場合は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); 
    } 
} 
関連する問題