2014-02-13 172 views
3

我试图更改包含单词'Modify'的DataGrid单元格的Background颜色。如何根据单元格值更改DataGrid单元格背景颜色

WinForms我已经完成与此代码:

DataGridViewCellStyle style = new DataGridViewCellStyle(); 
style.BackColor = Color.DarkCyan; 

foreach (DataGridViewRow Row in dataGridView1.Rows) 
{ 
    if (Row.Cells["Permission"].Value.ToString().Contains("Modify")) 
    { 
     Row.Cells["Permission"].Style = style; 
    } 
} 

我填充这个DataGridDataTable

我对WPF还知之甚少,所以如果您有任何建议,请详细说明。

+0

我使用'dataGrid1.ItemsSource = dataTable.AsDataView();'来获得数据表,但后来我得到的信息“的项目集合在使用ItemSource之前必须为空“。 –

回答

1

我做了以下解决我的问题:

<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Height="173" Margin="53,127,0,0" VerticalAlignment="Top" Width="378" AutoGenerateColumns="False"> 
      <DataGrid.Columns> 
       <DataGridCheckBoxColumn Binding="{Binding Selecione}" Header="Selecione"/> 
       <DataGridTextColumn Binding="{Binding Grupos}" Header="Grupos"/> 
       <DataGridTextColumn Binding="{Binding Permissoes}" Header="Permissões"> 
        <DataGridTextColumn.CellStyle> 
         <Style TargetType="DataGridCell"> 
          <Style.Triggers> 
           <DataTrigger Binding="{Binding Permissoes}" Value="Modify"> 
            <Setter Property="Background" Value="Green"/> 
           </DataTrigger> 
          </Style.Triggers> 
         </Style> 
        </DataGridTextColumn.CellStyle> 
       </DataGridTextColumn>`enter code here` 
      </DataGrid.Columns> 
     </DataGrid> 
+0

您是否为一列创建了它,是否可以动态创建所有列? – Tito

相关问题