彩色排有条不紊

时间:2015-07-02 18:43:40

标签: c# wpf datagrid

创建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,17行应再次为格雷。

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

同样从第2列及以上开始,所有信息都应该对齐。

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

2 个答案:

答案 0 :(得分:3)

试试这个

<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}" />
                    ...

答案 1 :(得分:0)

您可以在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; 
    }
}