This documentation is archived and is not being maintained.

DataGridTableStyle.BackColor Property

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

[Visual Basic]
Public Property BackColor As Color
[C#]
public Color BackColor {get; set;}
[C++]
public: __property Color get_BackColor();
public: __property void set_BackColor(Color);
[JScript]
public function get BackColor() : Color;
public function set BackColor(Color);

Property Value

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

Remarks

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

Example

[Visual Basic, C#, C++] The following example creates an instance of DataGridTableStyle and sets the BackColor and AlternatingBackColor properties to new values. The example assumes you have a DataGrid with a System.Data.DataSet that contains some data, and a Button on a Form.

[Visual Basic] 
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 'AddCustomDataTableStyle

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

[C#] 
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");
}   

[C++] 
private:
    void AddCustomDataTableStyle() {
        myDataGridTableStyle1 = new DataGridTableStyle();

        // EventHandlers
        myDataGridTableStyle1->GridLineColorChanged +=
            new System::EventHandler(this, &DataGridTableStyle_Sample::GridLineColorChanged_Handler);
        myDataGridTableStyle1->MappingName = S"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 = S"Current";
        myBoolCol->HeaderText = S"IsCurrent Customer";
        myBoolCol->Width = 150;
        myDataGridTableStyle1->GridColumnStyles->Add(myBoolCol);

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

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

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

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

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

    void GridLineColorChanged_Handler(Object* /*sender*/, EventArgs* /*e*/) {
        MessageBox::Show(S"GridLineColor Changed", S"DataGridTableStyle");
    }

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

DataGridTableStyle Class | DataGridTableStyle Members | System.Windows.Forms Namespace

Show: