DevExpress中GridControl动态修改行背景颜色

时间:2021-07-02 17:31:06
准备实现按照行中某个元素内容修改GridControl的行背景颜色。在网上找的DEV的技术支持给的解决方法是这样

https://www.devexpress.com/Support/Center/Question/Details/Q446841/how-to-change-dxgrid-row-background-color


<dxg:TableView.RowStyle>
    <Style TargetType="dxg:GridRowContent" BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=RowStyle}}">
        <Setter Property="Background" Value="{Binding Row.USER_ID, Converter={StaticResource conv}}"/>
    </Style>
</dxg:TableView.RowStyle>


我的代码: 提示:“GridRowContent”TargetType 与元素“RowControl”的类型不匹配。
  DevExpress中GridControl动态修改行背景颜色

 不知道哪了出了问题,求解?或者哪位大神有更好的解决方法,求分享.谢谢!

2 个解决方案

#1


在dxg:TableView 中设置UseLightweightTemplates 为None 就可以了。

#2


引用 1 楼 duanzi_peng 的回复:
在dxg:TableView 中设置UseLightweightTemplates 为None 就可以了。

DevExpress中GridControl动态修改行背景颜色DevExpress中GridControl动态修改行背景颜色

版主正解,解决了我的大难题,感谢!

修改后的代码:

  <dxg:GridControl.View>
                                <dxg:TableView    AllowPerPixelScrolling="True"  Name="tvSAP" AllowEditing="False" ShowTotalSummary="False" ShowGroupPanel="False"  UseLightweightTemplates="None">
                                    <dxg:TableView.RowStyle>
                                        <Style TargetType="dxg:GridRowContent" BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=RowStyle}}">
                                            <Setter Property="Background" Value="{Binding Row.ComponentCode, Converter={StaticResource NewSAPCodeConvert}}"/>
                                        </Style>
                                    </dxg:TableView.RowStyle>
                                </dxg:TableView>
                            </dxg:GridControl.View>

#1


在dxg:TableView 中设置UseLightweightTemplates 为None 就可以了。

#2


引用 1 楼 duanzi_peng 的回复:
在dxg:TableView 中设置UseLightweightTemplates 为None 就可以了。

DevExpress中GridControl动态修改行背景颜色DevExpress中GridControl动态修改行背景颜色

版主正解,解决了我的大难题,感谢!

修改后的代码:

  <dxg:GridControl.View>
                                <dxg:TableView    AllowPerPixelScrolling="True"  Name="tvSAP" AllowEditing="False" ShowTotalSummary="False" ShowGroupPanel="False"  UseLightweightTemplates="None">
                                    <dxg:TableView.RowStyle>
                                        <Style TargetType="dxg:GridRowContent" BasedOn="{StaticResource {dxgt:GridRowThemeKey ResourceKey=RowStyle}}">
                                            <Setter Property="Background" Value="{Binding Row.ComponentCode, Converter={StaticResource NewSAPCodeConvert}}"/>
                                        </Style>
                                    </dxg:TableView.RowStyle>
                                </dxg:TableView>
                            </dxg:GridControl.View>