Edit

Share via


DataGridTableStyle.ColumnHeadersVisibleChanged Event

Definition

Occurs when the ColumnHeadersVisible value changes.

public:
 event EventHandler ^ ColumnHeadersVisibleChanged;
public event EventHandler ColumnHeadersVisibleChanged;
member this.ColumnHeadersVisibleChanged : EventHandler 
Public Custom Event ColumnHeadersVisibleChanged As EventHandler 

Event Type

Examples

The following code example demonstrates the use of this member.

private:
   void DataGridTableStyle_Sample_Load( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      myDataGridTableStyle1 = gcnew DataGridTableStyle;
      myHeaderLabel->Text = String::Concat( "Header Status : ", myDataGridTableStyle1->ColumnHeadersVisible );
      if (myDataGridTableStyle1->ColumnHeadersVisible)
      {
         btnheader->Text = "Remove Header";
      }
      else
      {
         btnheader->Text = "Add Header";
      }

      AddCustomDataTableStyle();
   }

   void AddCustomDataTableStyle()
   {
      myDataGridTableStyle1->ColumnHeadersVisibleChanged += gcnew System::EventHandler( this, &DataGridTableStyle_Sample::ColumnHeadersVisibleChanged_Handler );

      // Set ColumnheaderVisible property.
      myDataGridTableStyle1->MappingName = "Customers";

      // Add a GridColumnStyle and set its MappingName
      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;

      // PropertyDescriptor to create a formatted column.
      PropertyDescriptorCollection^ myPropertyDescriptorCollection =
         this->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 GridTableStylesCollection.
      myDataGrid->TableStyles->Add( myDataGridTableStyle1 );
   }

   void ColumnHeadersVisibleChanged_Handler( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      myHeaderLabel->Text = String::Concat( "Header Status : ", myDataGridTableStyle1->ColumnHeadersVisible );
   }

   void btnheader_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      if (myDataGridTableStyle1->ColumnHeadersVisible)
      {
         myDataGridTableStyle1->ColumnHeadersVisible = false;
         btnheader->Text = "Add Header";
      }
      else
      {
         myDataGridTableStyle1->ColumnHeadersVisible = true;
         btnheader->Text = "Remove Header";
      }
   }

     private void DataGridTableStyle_Sample_Load(object sender,
                                               EventArgs e)
     {
        myDataGridTableStyle1 = new DataGridTableStyle();
        myHeaderLabel.Text = "Header Status :" 
           + myDataGridTableStyle1.ColumnHeadersVisible.ToString();
        if (myDataGridTableStyle1.ColumnHeadersVisible)
        {
           btnheader.Text = "Remove Header";
        }
        else
        {
           btnheader.Text = "Add Header";
        }
        AddCustomDataTableStyle();
     } 
     private void AddCustomDataTableStyle()
     {           
        myDataGridTableStyle1.ColumnHeadersVisibleChanged 
           += new System.EventHandler(ColumnHeadersVisibleChanged_Handler);

        // Set ColumnheaderVisible property.         
        myDataGridTableStyle1.MappingName = "Customers";

        // Add a GridColumnStyle and set its MappingName 
        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;

        // PropertyDescriptor to create a formatted column.
        PropertyDescriptorCollection myPropertyDescriptorCollection = this.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 GridTableStylesCollection.
        myDataGrid.TableStyles.Add(myDataGridTableStyle1);              
     }          
     private void ColumnHeadersVisibleChanged_Handler(object sender,
                                                           EventArgs e)
     {         
        myHeaderLabel.Text = "Header Status :" 
           + myDataGridTableStyle1.ColumnHeadersVisible.ToString();
     }      
     private void btnheader_Click(object sender, EventArgs e)
     {
        if (myDataGridTableStyle1.ColumnHeadersVisible)
        {            
           myDataGridTableStyle1.ColumnHeadersVisible = false;
           btnheader.Text = "Add Header";
        }
        else
        {
           myDataGridTableStyle1.ColumnHeadersVisible = true;
           btnheader.Text = "Remove Header";
        }         
    }
Private Sub DataGridTableStyle_Sample_Load(ByVal sender As Object, _
                           ByVal e As EventArgs) Handles MyBase.Load
   myDataGridTableStyle1 = New DataGridTableStyle()
   myHeaderLabel.Text = "Header Status :" + myDataGridTableStyle1.ColumnHeadersVisible.ToString()
   If myDataGridTableStyle1.ColumnHeadersVisible = True Then
      btnheader.Text = "Remove Header"
   Else
      btnheader.Text = "Add Header"
   End If
   AddCustomDataTableStyle()
End Sub

Private Sub AddCustomDataTableStyle()
   AddHandler myDataGridTableStyle1.ColumnHeadersVisibleChanged, AddressOf ColumnHeadersVisibleChanged_Handler

   ' Set ColumnheaderVisible property.
   myDataGridTableStyle1.MappingName = "Customers"

   ' Add a GridColumnStyle and set its MappingName
   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

   ' PropertyDescriptor to create a formatted column.
   Dim myPropertyDescriptorCollection As PropertyDescriptorCollection = _
         Me.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 GridTableStylesCollection.
   myDataGrid.TableStyles.Add(myDataGridTableStyle1)
End Sub

Private Sub ColumnHeadersVisibleChanged_Handler(ByVal sender As Object, ByVal e As EventArgs)
   myHeaderLabel.Text = "Header Status :" + myDataGridTableStyle1.ColumnHeadersVisible.ToString()
End Sub

Private Sub btnheader_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnheader.Click
   If myDataGridTableStyle1.ColumnHeadersVisible = True Then
      myDataGridTableStyle1.ColumnHeadersVisible = False
      btnheader.Text = "Add Header"
   Else
      myDataGridTableStyle1.ColumnHeadersVisible = True
      btnheader.Text = "Remove Header"
   End If
End Sub

Remarks

To set the caption text for each column in a grid, set the HeaderText property of the DataGridColumnStyle class.

For more information about handling events, see Handling and Raising Events.

Applies to

See also