文章分類/Infragistics
讓 UltraGrid 根據單元格值更改整行的顏色。完成的圖像將如下所示。
程序
在InitializeRow事件中根據單元格值設置顏色。直接為Appearance屬性指定值會消耗更多內存,因此建議提前在InitializeLayout事件中創建必要的Appearance對象。
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { // 背景色をピンク色にする Appearance と白にする Appearance を作成しておきます。 Infragistics.Win.Appearance pinkAppearance = e.Layout.Appearances.Add("myPinkAppearance"); pinkAppearance.BackColor = Color.Pink; Infragistics.Win.Appearance whiteAppearance = e.Layout.Appearances.Add("myWhiteAppearance"); whiteAppearance.BackColor = Color.White; } private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e) { // "StockedAmount" 列の値が20未満の場合は、ピンク色の背景色を付ける。 if((int)e.Row.Cells["StockedAmount"].Value < 20) { e.Row.Appearance = e.Row.Band.Layout.Appearances["myPinkAppearance"]; } // "StockedAmount" 列の値が20未満ではない場合は、白の背景色を付ける。 else { e.Row.Appearance = e.Row.Band.Layout.Appearances["myWhiteAppearance"]; } }