2013-04-24 111 views
2

stage chart 我想在运行时(秀座位预订)。我是从数据表上的窗口中加载event.i结合该网格有像“A33'.my代码席位的记录来改变该网格的特定细胞的背景颜色对于绑定是这样的。特定细胞的如何更改wpf中datagrid的单元格颜色?

MySqlConnection mycon = new MySqlConnection(str); 
mycon.Open(); 
MySqlDataAdapter da = new MySqlDataAdapter("select * from Stage", mycon); 
da.Fill(dt); 
MyGrid.ItemsSource = dt.DefaultView; 

回答

3

变化的背景由代码:

DataGridRow firstRow = dataGrid1.ItemContainerGenerator.ContainerFromItem(dataGrid1.Items[0]) as DataGridRow; 
    DataGridCell firstColumnInFirstRow = dataGrid1.Columns[0].GetCellContent(firstRow).Parent as DataGridCell; 
    //set background 
    firstColumnInFirstRow.Background = Brushes.Red; 
+0

应该避免使用ItemContainerGenerator,通常它是丑陋的,并且在虚拟化控件上失败。 – 2013-04-24 15:34:24

5

你的电池数据应该有一个属性IsBooked,然后在DataGrid.CellStyle您可以使用数据触发上IsBooked改变其研究背景。 (除DataTriggers之外还有some other alternatives,但是如果你只有一个布尔条件,我觉得它们相当方便。)

+0

你能帮我解决这个问题吗?我是wpf新手。 – 2013-04-25 05:27:56

+0

你应该自己熟悉WPF然后,阅读问题[MSDN上的文章(http://msdn.microsoft.com/en-us//library/ms754130.aspx)这里#2。 – 2013-04-25 11:41:22

+0

@ H.B。我看到ü好与WPF,所以我会很高兴,如果ü可以帮助我与我的问题http://stackoverflow.com/questions/16645688/how-to-set-background-of-a-datagrid-cell-during- autogeneratingcolumn-event-depen,请。 – 2013-05-20 08:45:47

相关问题