devexpress RowStyle 根据条件设置背景色


在 DevExpress 的 ‌WinForms GridControl‌ 中,可以通过 ‌GridView 的 RowStyle 事件‌ 动态设置行的背景色。以下是一个完整示例:

实现步骤:

  1. 绑定 GridView.RowStyle 事件‌:在窗体加载时订阅该事件。
  2. 判断条件并设置颜色‌:在事件处理函数中根据行数据条件修改背景色。
  3. C# 全选
    using DevExpress.XtraGrid.Views.Grid;
    
    // 在窗体加载时订阅事件
    private void Form_Load(object sender, EventArgs e)
    {
        gridView1.RowStyle += gridView1_RowStyle;
        gridControl1.DataSource = GetData(); // 绑定数据源
    }
    
    // 处理 RowStyle 事件
    private void gridView1_RowStyle(object sender, RowStyleEventArgs e)
    {
        GridView view = sender as GridView;
        if (view == null) return;
    
        // 获取当前行的数据对象(假设绑定的是 DataTable 或自定义对象列表)
        if (e.RowHandle >= 0)
        {
            DataRow row = view.GetDataRow(e.RowHandle);
            // 或自定义对象:var item = view.GetRow(e.RowHandle) as YourModel;
    
            // 示例条件:库存小于 10 时设置为红色背景
            if (row != null && Convert.ToInt32(row["Stock"]) < 10)
            {
                e.Appearance.BackColor = Color.LightCoral;
                e.HighPriority = true; // 确保优先级,覆盖默认样式
            }
        }
    }
    
    // 示例数据源
    private DataTable GetData()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Product", typeof(string));
        dt.Columns.Add("Stock", typeof(int));
        dt.Rows.Add("Apple", 5);
        dt.Rows.Add("Banana", 15);
        return dt;
    }
  4. 关键点说明:

    • RowHandle‌:表示当前行的句柄,需确保 e.RowHandle >= 0 以避免分组行或新行。
    • 获取行数据‌:使用 GetDataRow(针对 DataTable)或 GetRow(针对自定义对象)。
    • 条件优先级‌:设置 e.HighPriority = true 确保自定义样式生效。
    • 性能优化‌:避免在 RowStyle 中执行复杂逻辑,以免影响渲染性能。

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:PVE磁盘测试
下一篇:如何将命令添加到VisualStudio控制台?
评论列表

发表评论

评论内容
昵称:
关联文章

devexpress RowStyle 根据条件设置背景
Python 打印日志格式,并且支持不同颜色和背景
Devexpress XtraTabControl设置
DevExpress 设置DateEdit显示年月
asp.net TagHelper根据条件向元素添加class
Devexpress gridControl SummaryItem显示格式化设置DisplayFormat
Devexpress RibbonControl设置大全
DevExpress Winform统一设置字体大小
Devexpress GridControl明细标签控制,隐藏detail标签
CSS样式div设置背景图片 并拉伸填充
SQL根据条件分组批量取出一张表中最新的数据
根据数据库生成表模型和实体
CSS鼠标hover 背景动画煽动效果
css两种颜色边框设置,边框设置多种颜色
Devexpress RibbonControl获得内容宽度
.NET 通用多条件动态参数查询方法 - SqlSugar ORM
devexpress图表Chart开发日志
FastReport设置自动行高
DevExpress 使用GridControl 会计凭证财务金额分位显示
Devexpress GridControl GridView添加右键菜单

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码