2015-07-02 38 views
-5

這是我的WPF代碼創建DataGrid中時:色彩行有條件

 <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列開始,所有信息應該與右側對齊。

我希望你能幫助我解決這個問題。我很感謝,我感謝大家的幫助。

回答

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