zoukankan      html  css  js  c++  java
  • DevExpress WinForm界面开发技巧放送:GridView

    点击获取DevExpress完整版下载

    DevExpress技术交流群3:700924826      欢迎一起进群讨论

    DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

    DevExpress WinForms
    问题

    假设在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中文网,获取第一手最新产品资讯!

  • 相关阅读:
    为用户分配角色 C#
    测试常用指标及工具
    MySQL Performance Schema
    CentOS7
    sysbench
    Fedora 的截屏功能
    Fedora 26 安装搜狗拼音输入法 sogoupinyin
    下载 GitHub 上保存在 AWS 的文件
    MySQL 架构
    Vagrant
  • 原文地址:https://www.cnblogs.com/AABBbaby/p/14707561.html
Copyright © 2011-2022 走看看