Devexpress:在GridControl中使用GridFormatRule改变行/单元格样式

使用GridFormatRule 可以轻松设置GridControl中的格式化规则,这些规则的使用可以方便的控制显示,区别不同的数据格式。参见链接:

FormatConditionRuleExpression     Expression Operators, Functions, and Constants  下面 在 gcId 列(上一篇文章定义)应用了Rule的效果。

应用到整行:

设置代码:

        gcId.Caption = "编号";
            gcId.FieldName = "Id";
            gcId.VisibleIndex = 0;
            gcId.Width = 15;
            this.gv.Columns.Add(gcId);
 
            GridFormatRule gfrId = new GridFormatRule() { Name = "gfrId" };
            // 指定应用到编号列
            gfrId.Column = gcId;
            gfrId.Rule = new FormatConditionRuleExpression()
            {
                // 使用Dev默认提供的预定义样式
                PredefinedName = "Red Fill, Red Text",  
                Expression = "[Id] % 2 !=0 ", // Id值为奇数
            };
            // 是否应用到整行
            //gfrId.ApplyToRow = true;
            this.gv.FormatRules.Add(gfrId);

VB写法:

        Me.GridView1.FormatRules.Clear()    '开始使用规则颜色前必须先清空下对象,否则报错重复使用
       '设定报错颜色
            Dim gfrId As GridFormatRule = New GridFormatRule()
            gfrId.Name = "gfrId"
            gfrId.Column = GridView1.Columns.ColumnByFieldName("结果")
            gfrId.Rule = new FormatConditionRuleExpression() With{.PredefinedName = "Red Fill, Red Text",.Expression = "[结果] == '重复导入'"}
            gfrId.ApplyToRow = True
            Me.GridView1.FormatRules.Add(gfrId)
            '关掉默认选中第一行设定,否则第一行不会显示红色
            gridView1.OptionsSelection.EnableAppearanceFocusedCell = false
            gridView1.OptionsSelection.EnableAppearanceFocusedRow = false
            gridView1.OptionsSelection.EnableAppearanceHideSelection = false
            '==========================================<

总结:

  FormatRule的应用很大程度上方便的设置样式,而不用再使用RowStyle或者RowCellStyle 事件来进行Appearance的设置,而且这种设置容易导致页面不顺畅。TreeListPivotGrid也有对应的Rule设置。

本文来自博客园,作者:云辰,转载请注明原文链接:https://www.cnblogs.com/yunchen/p/13784251.html

原文地址:https://www.cnblogs.com/yunchen/p/13784251.html