zoukankan      html  css  js  c++  java
  • Devexpress Winform Gridcontrol 中根据条件单元格的值改变单元格的颜色等属性。

    提供一下三种方法

    1.使用设计器

    点击gridcontrol控件,run designer,format Condtions, add,然后进行各种条件的设置。

    2.用代码代替设计器。

    实例代码:

     private void SetWarning()
            {
                #region 应收预警   应收100万以内绿色;100-300万蓝色;300-500万黄色;500-700万橙色;700万以上红色。
                StyleFormatCondition condition = new StyleFormatCondition();
                condition.Appearance.Options.UseForeColor = true;
                condition.Appearance.ForeColor = Color.Green;
                condition.Column = bandedGridViewSalesDailyReport.Columns["Diff"];
                condition.Condition = DevExpress.XtraGrid.FormatConditionEnum.Expression;
                condition.Expression = "1000000>Abs([Diff])";
                condition.Value1 = true;
    
    
                StyleFormatCondition condition2 = new StyleFormatCondition();
                condition2.Appearance.Options.UseForeColor = true;
                condition2.Appearance.ForeColor = Color.Yellow;
                condition2.Column = bandedGridViewSalesDailyReport.Columns["Diff"];
                condition2.Condition = DevExpress.XtraGrid.FormatConditionEnum.Expression;          
                condition2.Expression = "3000000 > Abs([Diff]) And Abs([Diff]) > 3000000";
                 condition2.Value1 = true;
    
    
                StyleFormatCondition condition4 = new StyleFormatCondition();
                condition4.Appearance.Options.UseForeColor = true;
                condition4.Appearance.ForeColor = Color.Orange;
                condition4.Column = bandedGridViewSalesDailyReport.Columns["Diff"];
                condition4.Condition = DevExpress.XtraGrid.FormatConditionEnum.Expression;
                condition4.Expression = "7000000 > Abs([Diff]) And Abs([Diff]) > 5000000";
                
                condition4.Value1 = true;
    
                StyleFormatCondition condition6 = new StyleFormatCondition();
                condition6.Appearance.Options.UseForeColor = true;
                condition6.Appearance.ForeColor = Color.Red;
                condition6.Column = bandedGridViewSalesDailyReport.Columns["Diff"];
                condition6.Condition = DevExpress.XtraGrid.FormatConditionEnum.Expression;
                condition6.Expression = "Abs([Diff])>7000000";
                condition6.Value1 = true;
                this.bandedGridViewSalesDailyReport.FormatConditions.AddRange(new DevExpress.XtraGrid.StyleFormatCondition[] {
                    condition,
                    condition2,
                    condition4,
                    condition6
                });
                #endregion 应收预警
            }
    View Code

        

     3.在绘制行或者单元格时候设置

    示例代码1:

      private void bandedGridViewSalesDailyReport_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
            {
                Color c = System.Drawing.Color.FromArgb(((int)(((byte)(253)))), ((int)(((byte)(234)))), ((int)(((byte)(218)))));
    
                if (e.Column.FieldName == "Diff")
                {
                    e.Column.AppearanceCell.BackColor = c;
                }
    
                if (e.Column == this.colPrepayment)
                {
                    e.Column.AppearanceCell.BackColor = c;
                }
                if (e.Column == colTotalAmount)
                {
                    e.Column.AppearanceCell.BackColor = c;
                }
            }
    View Code

     示例代码2:

     private void gridViewShipment_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
            {
                if (e.Column == this.colSettlementStatus && e.CellValue != null)
                {
                    if (e.CellValue.ToString() == "完成结算")
                    {
                        e.Appearance.ForeColor = Color.Green;
                    }
                    else
                    if (e.CellValue.ToString() == "未结算")
                    {
                        e.Appearance.ForeColor = Color.Red;
                    }
                    else
                    {
                        e.Appearance.ForeColor = Color.Orange;
                    }
                }
            }
    View Code
  • 相关阅读:
    Ubuntu vsftp复制文件到远端时错误,Permission denied
    linux 常用命令
    vbox安装ubuntu之后挂载共享文件夹无权限访问的问题以及改了主机名,导致命令行不能解析主机名的问题
    java 中的valueOf方法和强转
    读写文件,用代码在讲html文件转为jsp文件
    hibernate查询之后用el表达式取值时遇到的问题
    考研:操作系统:进程同步—信号量实现同步互斥(PV操作)
    考研:操作系统:处理机调度——几种经典的调度算法
    KMP算法
    mysql出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 错误
  • 原文地址:https://www.cnblogs.com/yuanjiedao/p/4727339.html
Copyright © 2011-2022 走看看