DataGridTableStyle.BackColor Property

Definition

Gets or sets the background color of even-numbered rows of the grid.

public:
 property System::Drawing::Color BackColor { System::Drawing::Color get(); void set(System::Drawing::Color value); };
public System.Drawing.Color BackColor { get; set; }
member this.BackColor : System.Drawing.Color with get, set
Public Property BackColor As Color

Property Value

A Color that represents the background color of odd-numbered rows.

Examples

The following code example creates an instance of DataGridTableStyle and sets the BackColor and AlternatingBackColor properties to new values. The example requires that you have a DataGrid with a System.Data.DataSet that contains some data, and a Button on a Form.

private:
   void AddCustomDataTableStyle()
   {
      myDataGridTableStyle1 = gcnew DataGridTableStyle;

      // EventHandlers
      myDataGridTableStyle1->GridLineColorChanged += gcnew System::EventHandler( this, &DataGridTableStyle_Sample::GridLineColorChanged_Handler );
      myDataGridTableStyle1->MappingName = "Customers";

      // Set other properties.
      myDataGridTableStyle1->AlternatingBackColor = System::Drawing::Color::Gold;
      myDataGridTableStyle1->BackColor = System::Drawing::Color::White;
      myDataGridTableStyle1->GridLineStyle = System::Windows::Forms::DataGridLineStyle::Solid;
      myDataGridTableStyle1->GridLineColor = Color::Red;

      // Set the HeaderText and Width properties.
      DataGridColumnStyle^ myBoolCol = gcnew DataGridBoolColumn;
      myBoolCol->MappingName = "Current";
      myBoolCol->HeaderText = "IsCurrent Customer";
      myBoolCol->Width = 150;
      myDataGridTableStyle1->GridColumnStyles->Add( myBoolCol );

      // Add a second column style.
      DataGridColumnStyle^ myTextCol = gcnew DataGridTextBoxColumn;
      myTextCol->MappingName = "custName";
      myTextCol->HeaderText = "Customer Name";
      myTextCol->Width = 250;
      myDataGridTableStyle1->GridColumnStyles->Add( myTextCol );

      // Create new ColumnStyle objects
      DataGridColumnStyle^ cOrderDate = gcnew DataGridTextBoxColumn;
      cOrderDate->MappingName = "OrderDate";
      cOrderDate->HeaderText = "Order Date";
      cOrderDate->Width = 100;

      // Use a PropertyDescriptor to create a formatted column.
      PropertyDescriptorCollection^ myPropertyDescriptorCollection =
         BindingContext[myDataSet, "Customers::custToOrders"]->GetItemProperties();

      // Create a formatted column using a PropertyDescriptor.
      DataGridColumnStyle^ csOrderAmount = gcnew DataGridTextBoxColumn( myPropertyDescriptorCollection[ "OrderAmount" ],"c",true );
      csOrderAmount->MappingName = "OrderAmount";
      csOrderAmount->HeaderText = "Total";
      csOrderAmount->Width = 100;

      // Add the DataGridTableStyle instances to the GridTableStylesCollection.
      myDataGrid->TableStyles->Add( myDataGridTableStyle1 );
   }

   void GridLineColorChanged_Handler( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      MessageBox::Show( "GridLineColor Changed", "DataGridTableStyle" );
   }
     private void AddCustomDataTableStyle()
     {
        myDataGridTableStyle1 = new DataGridTableStyle();
       
        // EventHandlers          
        myDataGridTableStyle1.GridLineColorChanged += new System.EventHandler(GridLineColorChanged_Handler);         
        myDataGridTableStyle1.MappingName = "Customers";

        // Set other properties.
        myDataGridTableStyle1.AlternatingBackColor=System.Drawing.Color.Gold;
        myDataGridTableStyle1.BackColor = System.Drawing.Color.White;
        myDataGridTableStyle1.GridLineStyle=System.Windows.Forms.DataGridLineStyle.Solid;
        myDataGridTableStyle1.GridLineColor=Color.Red;

        // Set the HeaderText and Width properties. 
        DataGridColumnStyle myBoolCol = new DataGridBoolColumn();
        myBoolCol.MappingName = "Current";
        myBoolCol.HeaderText = "IsCurrent Customer";
        myBoolCol.Width = 150;
        myDataGridTableStyle1.GridColumnStyles.Add(myBoolCol);
     
        // Add a second column style.
        DataGridColumnStyle myTextCol = new DataGridTextBoxColumn();
        myTextCol.MappingName = "custName";
        myTextCol.HeaderText = "Customer Name";
        myTextCol.Width = 250;
        myDataGridTableStyle1.GridColumnStyles.Add(myTextCol);

        // Create new ColumnStyle objects
        DataGridColumnStyle cOrderDate = new DataGridTextBoxColumn();
        cOrderDate.MappingName = "OrderDate";
        cOrderDate.HeaderText = "Order Date";
        cOrderDate.Width = 100;

        // Use a PropertyDescriptor to create a formatted column.
        PropertyDescriptorCollection myPropertyDescriptorCollection = BindingContext
           [myDataSet, "Customers.custToOrders"].GetItemProperties();

        // Create a formatted column using a PropertyDescriptor.
        DataGridColumnStyle csOrderAmount = 
           new DataGridTextBoxColumn(myPropertyDescriptorCollection["OrderAmount"], "c", true);
        csOrderAmount.MappingName = "OrderAmount";
        csOrderAmount.HeaderText = "Total";
        csOrderAmount.Width = 100;
             
        // Add the DataGridTableStyle instances to the GridTableStylesCollection.
        myDataGrid.TableStyles.Add(myDataGridTableStyle1);      
     }      
     private void GridLineColorChanged_Handler(object sender,EventArgs e)
     {
        MessageBox.Show("GridLineColor Changed", "DataGridTableStyle");
     }
Private Sub AddCustomDataTableStyle()
   myDataGridTableStyle1 = New DataGridTableStyle()

   ' EventHandlers
   AddHandler myDataGridTableStyle1.GridLineColorChanged, AddressOf GridLineColorChanged_Handler
   myDataGridTableStyle1.MappingName = "Customers"

   ' Set other properties.
   myDataGridTableStyle1.AlternatingBackColor = System.Drawing.Color.Gold
   myDataGridTableStyle1.BackColor = System.Drawing.Color.White
   myDataGridTableStyle1.GridLineStyle = System.Windows.Forms.DataGridLineStyle.Solid
   myDataGridTableStyle1.GridLineColor = Color.Red

   ' Set the HeaderText and Width properties.
   Dim myBoolCol = New DataGridBoolColumn()
   myBoolCol.MappingName = "Current"
   myBoolCol.HeaderText = "IsCurrent Customer"
   myBoolCol.Width = 150
   myDataGridTableStyle1.GridColumnStyles.Add(myBoolCol)

   ' Add a second column style.
   Dim myTextCol = New DataGridTextBoxColumn()
   myTextCol.MappingName = "custName"
   myTextCol.HeaderText = "Customer Name"
   myTextCol.Width = 250
   myDataGridTableStyle1.GridColumnStyles.Add(myTextCol)

   ' Create new ColumnStyle objects
   Dim cOrderDate = New DataGridTextBoxColumn()
   cOrderDate.MappingName = "OrderDate"
   cOrderDate.HeaderText = "Order Date"
   cOrderDate.Width = 100

   ' Use a PropertyDescriptor to create a formatted column.
   Dim myPropertyDescriptorCollection As PropertyDescriptorCollection = _
                  BindingContext(myDataSet, "Customers.custToOrders").GetItemProperties()

   ' Create a formatted column using a PropertyDescriptor.
   Dim csOrderAmount = New DataGridTextBoxColumn(myPropertyDescriptorCollection( _
                                                "OrderAmount"), "c", True)
   csOrderAmount.MappingName = "OrderAmount"
   csOrderAmount.HeaderText = "Total"
   csOrderAmount.Width = 100

   ' Add the DataGridTableStyle instances to the GridTableStylesCollection.
   myDataGrid.TableStyles.Add(myDataGridTableStyle1)
End Sub

Private Sub GridLineColorChanged_Handler(ByVal sender As Object, ByVal e As EventArgs)
   MessageBox.Show("GridLineColor Changed", "DataGridTableStyle")
End Sub

Remarks

The AlternatingBackColor property can also be set to create a ledger-like appearance.

Applies to