2014-02-13 103 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

相關問題