【问题标题】:Color Row Conditionally有条件地颜色行
【发布时间】:2015-09-20 10:30:21
【问题描述】:

这是我创建 DataGrid 时的 WPF 代码:

       <DataGrid x:Name="DGruta11" Height="365" Width="836" Canvas.Left="19" 
                     Canvas.Top="115" CanUserReorderColumns="False"
                     HorizontalGridLinesBrush="#FFD8D8D8"
                     VerticalGridLinesBrush="#FFD8D8D8"
                     IsReadOnly="True" >

       </DataGrid>

我正在用 C# 创建的数据表填充这个网格。

我总共获得了 19 行,并且我将始终收到此金额。第 0、1、2 行应为灰色粗体字。

第 3、4、5、6、7、8、9 行应为浅灰色。

第 10、11、12 行应为白色。

第 13、14、15、16、17、18 行应再次为灰色。

其中的一部分,但如果单元格是数字,则使用相同的数据网格,那么我希望该数字是这种格式 0.00 ("9.00" , "1, 000.00" ,"0.05" )

同样从第 2 列及以上所有信息应向右对齐。

我希望你能帮我解决这个问题。我很感激并感谢大家的帮助。

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    试试这个

    <DataGrid ItemsSource="{Binding YourDataToBind}" AutoGenerateColumns="False" CanUserAddRows="False">
                    <DataGrid.RowStyle>
                        <Style TargetType="DataGridRow">
                            <Setter Property="Background">
                                <Setter.Value>
                                    <SolidColorBrush Color="{Binding YourDataToBind.ValueAsCondition, Converter={StaticResource YourValueToColorConverter}}"/>
                                </Setter.Value>
                            </Setter> 
                        </Style>
                    </DataGrid.RowStyle>
                    <DataGrid.Columns>
                        <DataGridCheckBoxColumn Header="ColumHeader" Binding="{Binding ValueInColum}" />
                        ...
    

    【讨论】:

      【解决方案2】:

      您可以在 c# 中更改行的背景颜色。这里有一个很好的例子来说明如何做到这一点How to change row color in datagridview?

      基本上,您会在所有行中循环,并使用条件语句来确定应将哪种颜色应用于该行。

      类似这样的:

      int rowCount = 0;
      foreach (DataGridViewRow row in DGruta11.Rows) 
      {
          rowCount += 1;
          if (rowCount > 2 && rowCount < 10) 
          {
              row.DefaultCellStyle.BackColor = Color.LightGray; 
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-12
        • 2023-04-04
        • 2020-12-03
        • 1970-01-01
        • 2015-09-14
        • 1970-01-01
        相关资源
        最近更新 更多