2016-09-09 5 views
0

私は注文管理デスクトップアプリケーションがあり、すべての注文をdgridviewに表示します。式が真の場合、Datagridviewの行bgの色が設定されます。

すべての注文には、Paid,Not Paid,In progressの3種類があります。

注文がステータスタイプNot Paidの場合、すべての行でバックグラウンドの色を赤に変更するためにdatagridviewリストを試しています。ステータスがIn prigressの場合はすべて黄色です

DataGridViewRowで内側のループ(foreach)を行うと、col値がNot Paid赤色の地色であるかどうかを確認できますか?またはこれを設定する他の方法

答えて

1

CellFormattingイベントを購読します。

private void DataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (e.ColumnIndex == 1) // specify the desired column number 
    { 
     string value = e.Value.ToString(); 

     if (value == "Not Paid") 
      e.CellStyle.BackColor = Color.Red; 
     else if (value == "In Progress") 
      e.CellStyle.BackColor = Color.Yellow; 
    } 
} 
+0

ありがとう!それは働いている。私がする必要があるのは、 'e.COlumng.Index!= null'かどうかをチェックすることだけです。私が 'NullException'を取得するwhidoutになる – Ivan

関連する問題