首页 > 编程语言 >C#-DevExpress改变表格行颜色

C#-DevExpress改变表格行颜色

时间:2023-04-06 17:32:00浏览次数:40  
标签:单元格 颜色 表格 C# DevExpress object value 改变 选中

改变行颜色

通过行样式进行设置,这里使用了一个转换器,可以根据表格单元格数据满足不同条件时,将行的背景色设置为不同的颜色,参考部分代码如下:

xmlns:dxg:"http://schemas.devexpress.com/winfx/2008/xaml/grid"

<dxg:TableView>
    <dxg:TableView.RowStyle>
        <Style TargetType="dxg:RowControl">
            <Setter Property="Background">
                <Setter.Value>
                    <Binding Converter="{StaticResource BackGroundConverter}" Path="Row"></Binding>
                </Setter.Value>
            </Setter>
        </Style>
    </dxg:TableView.RowStyle>
</dxg:TableView>
//BackGroundConverter.cs
public class BackgoundColorConvert : IValueConverter{
    public object Convert(object value, Type targetlype, object parameter, CultureInfo culture){
        if (value != nu11){
            //转成实体对象,可使用它的属性进行条件判断
            ContractModel contractModel = value as ContractMode1;
            if(contractModel.NotInvoicedAmount < 0){
                return Brushes. IndianRed:
            }else{
                return null;
            }
        }else{
            return null;
        }
    }
    public object ConvertBack(object value, Type targetlype, object parameter, Culturelnfo culture){
        throw new NotImplementedException ();
    }
}

改变行选中的颜色

当你使用上面的代码进行行颜色设置时,会发现行选中的颜色没办法改变了,可以增加如下代码实现:

<Style.Triggers>
    <Trigger Property="dxg:GridViewBase.IsFocuseRow" Value="True">
        <Setter Property="Background" Value="#cfeafc"></Setter>
    </Trigger>
</Style.Triggers>

使用合并行之后,改变选中颜色

这里用的是devexpress15版本,默认设置表格单元格合并属性AllowCellMerge="True"之后,选中行之后,行背景色没有改变,如何在合并单元格之后,选中能够改变行颜色,我们通过设置单元格样式来实现,参考代码如下:

xmlns:dxg:"http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxgt:"http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"

<dxg:TableView>
    <dxg:TableView.CellStyle>
        <!--BaseOn设置一个基础样式-->
        <Style BaseOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=LightweightCellStyle}}" TargetType="dxg:LightweightCellStyle">
            <Style.Triggers>
                <Trigger Property="dxg:GridViewBase.IsFocuseRow" Value="True">
                    <Setter Property="Background" Value="#cfeafc"></Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </dxg:TableView.CellStyle>
</dxg:TableView>

标签:单元格,颜色,表格,C#,DevExpress,object,value,改变,选中
From: https://blog.51cto.com/kdyonly/6173863

相关文章

  • 10-springcloud-eureka-6-Eureka 与 Zookeeper 的比较
    Eureka与Zookeeper的比较著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性);由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡,在此Zookeeper保证的是CP,而Eureka则是AP。Zookeeper保证CP在Z......
  • (转)使用 Golang 创建和读取 Excel 文件
    原文:https://juejin.cn/post/7117578016858849293摘要本文提出一种使用Golang进行Excel文件创建和读取的方案。首先对问题进行分析,引出方案的基本架构;然后分章节描述了Excelize基础库的基本用法,以及Excel数据在Golang中的表示和解析方式,并进一步提出了应对大规模数......
  • prescan检测不到MATLAB软件
    salute:LJK1、打开设置  2、更新matlab安装目录即可 ......
  • NIO 实现非阻塞 Socket 通讯
    NIO实现多人聊天室的案例服务端importjava.io.IOException;importjava.net.InetSocketAddress;importjava.nio.ByteBuffer;importjava.nio.channels.*;importjava.nio.charset.Charset;/***聊天室服务端*/publicclassNServer{privateSelectorsele......
  • 11-springcloud-eureka-7-Eureka 注册中心高可用集群
    在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性问题,不能有单点故障,由于注册中心eureka本身也是一个服务,如果它只有一个节点,那么它有可能发生故障,这样我们就不能注册与查询服务了,所以我们需要一个高可用的服务注册中心,这就需要通过注册中心集群来解决。......
  • blockchain | 基于ethers.js的ctf合约攻击模板
    blockchain|基于ethers.js的ctf合约攻击模板之前做题用的是truffle命令行和truffleexec来进行编写代码,封装的层级比较高,这个框架主要还是用来开发比较方便,看了大师傅的wp(https://www.seaeye.cn/archives/497.html)以后觉得还是得写一个自己用起来顺手的攻击模板。使用ethers......
  • visual studio LTSC-长期服务渠道
    .NET7在VisualStudio17.4.0版本中支持,17.4.0版本是VisualStudio2022的第三个长期服务渠道(LTSC),17.4LTSC版本将支持到2024年7月11日。如果已经安装了VisualStudio2022,可以直接更新,也可以通过下面地址下载安装:下载.NET(Linux、macOS和Windows)(micros......
  • DHCP排错教程
    DHCP(动态主机配置协议)是一种用于分配IP地址和其他网络配置信息的协议。虽然DHCP通常是可靠的,但有时可能会出现故障,导致设备无法获得正确的IP地址或其他配置信息。以下是DHCP故障排除的详细步骤。1.确认网络连接首先,需要确认网络连接是否正常工作。可以使用以下命令检查网络接口的......
  • 工具 | Source Insight的配置及使用参考
    工具|SourceInsight的配置及使用参考需要理解代码?SourceInsight是一个功能强大的面向项目的编程编辑器、代码浏览器和分析器,可帮助您在工作和计划时理解代码。SourceInsight具有针对C/C++、C#、Java、Objective-C等的内置动态分析。1.SourceInsight护眼色配置在Options-......
  • memcachaed内存缓存优化
    ①使用场景分类展示(当然只要是短期内不频繁更换的都可以用。。。只要你内存够)②安装方法推荐网址:http://www.lai18.com/content/627794.html③操作方法$mencache=newMemcache();$host='xx.x.xxx.xx'; $port='11211';  //默认端口设置:$memcache->set('class_name','tes......