How to change single cell color of datagrid in wpf?

14,526

Solution 1

change background of specific cell by code :

   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;

Solution 2

Your cell-data should have a property IsBooked, then in the DataGrid.CellStyle you can use a data-trigger on IsBooked to change its backgroud. (There are some other alternatives besides DataTriggers, but if you just have one boolean conditional i find them to be quite convenient.)

Share:
14,526
Vivek Parikh
Author by

Vivek Parikh

Updated on June 05, 2022

Comments

  • Vivek Parikh
    Vivek Parikh almost 2 years

    stage chart I want to change background color of a particular cell of this grid at runtime(show booked seats).i am binding this grid from datatable on window loaded event.i have a record of seats like 'A33'.my code for binding is like this.

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