最近更新 2023-11-08
效果图
注册样式事件
this.gridView1.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gridView1_RowCellStyle); this.gridView1.RowStyle += new DevExpress.XtraGrid.Views.Grid.RowStyleEventHandler(this.gridView1_RowStyle);
事件方法
//行样式 private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e) {//原创来自 www.luofenming.com //更多可以通过逻辑筛选 //e.RowHandle 等于当前行时变红 if (e.RowHandle == this.gridView1.FocusedRowHandle) { //设置字体样式 e.Appearance.Font= new System.Drawing.Font("楷体", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); e.Appearance.BackColor = Color.GreenYellow; } } int standard; //单元列 样式 private void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) { //更多可以通过逻辑筛选 //列名为 gridColumn2的单元列 if (e.Column.Name == "gridColumn2") { var v = e.CellValue; if (v != null) {//当单元列名称为 gridColumn2 值大于 standard时,单元列背景颜色变红 if (int.Parse(v.ToString()) > standard) { e.Appearance.BackColor = Color.Red; } } } }
如果需要被选中后颜色不被覆盖,效果如下图
以下是核心代码
private void gridView2_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { if (e.RowHandle >= 0) { string postIs = gridView2.GetRowCellDisplayText(e.RowHandle, gridView2.Columns["TestItem"]);//获取限制变色条件行的值 if (postIs == "限流特性试验") { e.Appearance.BackColor = Color.Red;//设置满足条件行背景色为红色 } if(postIs== "效率实验") { e.Appearance.ForeColor = Color.Green;//设置满足条件行字体色为绿色 } } }