翻譯|使用教程|編輯:龔雪|2021-04-26 10:19:16.093|閱讀 392 次
概述:本文將為大家介紹數據網格如何將自定義單元格顏色從RowCellStyle事件傳遞到編輯表單。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
假設在GridView中動態更改RowCell的顏色:
C#
private void GridView_RowCellStyle(object sender, RowCellStyleEventArgs e) { // ... some logic e.Appearance.BackColor = Color.FromArgb(98, 182, 204, 252); // ... other logic }
需要在相應的編輯表單控件中使用相同的BackColor。有必要使用EditFormPrepared事件并更改e.BindableControls [column] .BackColor屬性,但我想了解如何獲取列樣式。
任務是獲取相應列單元格的顏色,建議創建一個方法,該方法實現RowCellStyle邏輯來計算單元格顏色并將其在EditFormPrepared事件處理程序中使用。下面的代碼說明了此方法:
C#
private void GridView1_EditFormPrepared(object sender, EditFormPreparedEventArgs e) { GridView view = sender as GridView; foreach (GridColumn c in view.VisibleColumns) { e.BindableControls[c].BackColor = GetColor(c, e.RowHandle, view.GetRowCellValue(e.RowHandle, c)); } } private void GridView1_RowCellStyle(object sender, RowCellStyleEventArgs e) { e.Appearance.BackColor = GetColor(e.Column, e.RowHandle, e.CellValue); } Color GetColor(GridColumn column, int rowHandle, object value) { if (rowHandle != 0) return Color.Empty; //your logic if (column.FieldName == "Name") return Color.Green; return Color.Red; }
DevExpress技術交流群3:700924826 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網