2016-05-17 9 views
0

特定の列の行を数えようとしています。私はこのデータを自分のデータグリッドテーブルに持っています。C#データグリッドテーブルの特定の列の行数をカウントする方法

日---------- TimeIn ------------ TimeOutの

05/16/2016 --- 08:00:00 AM --  05:00:00 PM 

05/16/2016 --- 08:00:00 AM -- 

私は

lblCount.Text = DataGridTable1.RowCount.ToString(); 
を使用

であり、出力は2です。

どのようにして列TimeOutの行数を数えることができますか?それは、列TimeOutに値を持たないと行がカウントされないようです。

出力は1になります。

ヘルプを評価してください。ありがとう。

答えて

1

1つの解決策は、列値をループしている空でないセルを数えている可能性があります。これは次のようにLinqを使用して行うことができます。

int count = dataGridView1.Rows 
    .Cast<DataGridViewRow>() 
    .Select(row => (string)row.Cells["TimeOut"].Value) 
    .Where(v => !string.IsNullOrEmpty(v)) 
    .Count(); 
+0

私はいくつかのために、この答えを探してきました今の時間。だから私がしたこと、私はそれを私のレーベルが読むことができるように文字列に変換しました。どうもありがとう。本当に助けに感謝します。 –

0

あなたはすべての行を反復処理し、フォローのようなあなたの目的の列の行

をカウントする必要がある場合があります

foreach (DataGridViewRow rw in this.dataGridView1.Rows) 
    { 

     if (rw.Cells["TimeOut"].Value == null || rw.Cells["TimeOut"].Value == DBNull.Value || String.IsNullOrWhitespace(rw.Cells["TimeOut"].Value.ToString()) 
     { 
     // here increase your counter 
     } 

    } 

ref link

関連する問題