Редагувати

Поділитися через


DataGridTableStyle.HeaderFont Property

Definition

Gets or sets the font used for header captions.

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

Property Value

The Font used for captions.

Examples

The following code example demonstrates the use of this member.

private:
   void AddCustomDataTableStyle()
   {
      myDataGridTableStyle1 = gcnew DataGridTableStyle;
      myDataGridTableStyle2 = gcnew DataGridTableStyle;
      MessageBox::Show( String::Concat( "LinkColor Before : ", myDataGridTableStyle1->LinkColor ) );
      MessageBox::Show( String::Concat( "HeaderFont Before : ", myDataGridTableStyle1->HeaderFont ) );
      myDataGridTableStyle1->LinkColorChanged += gcnew System::EventHandler( this, &DataGridTableStyle_Sample::LinkColorChanged_Handler );
      myDataGridTableStyle1->HeaderFontChanged += gcnew System::EventHandler( this, &DataGridTableStyle_Sample::HeaderFontChanged_Handler );
      myDataGridTableStyle1->MappingName = "Customers";

      // Set other properties.
      myDataGridTableStyle1->AlternatingBackColor = Color::LightGray;
      myDataGridTableStyle1->LinkColor = Color::Red;
      myDataGridTableStyle1->HeaderFont = gcnew System::Drawing::Font( "Verdana",8.25F,System::Drawing::FontStyle::Bold,System::Drawing::GraphicsUnit::Point,((System::Byte)(0)) );

      // 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();
      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 LinkColorChanged_Handler( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      MessageBox::Show( "LinkColor changed to 'RED'", "DataGridTableStyle" );
   }

   void HeaderFontChanged_Handler( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      MessageBox::Show( "HeaderFont changed to 'VERDANA'", "DataGridTableStyle" );
   }
private void AddCustomDataTableStyle()
{
   myDataGridTableStyle1 = new DataGridTableStyle();
   myDataGridTableStyle2 = new DataGridTableStyle();

   MessageBox.Show("LinkColor Before : "
      +myDataGridTableStyle1.LinkColor);
   MessageBox.Show("HeaderFont Before : "
      +myDataGridTableStyle1.HeaderFont);
   
   myDataGridTableStyle1.LinkColorChanged +=
      new System.EventHandler(LinkColorChanged_Handler);
   myDataGridTableStyle1.HeaderFontChanged 
      += new System.EventHandler(HeaderFontChanged_Handler);
   myDataGridTableStyle1.MappingName = "Customers";

   // Set other properties.
   myDataGridTableStyle1.AlternatingBackColor = Color.LightGray;
   myDataGridTableStyle1.LinkColor = Color.Red;         
   myDataGridTableStyle1.HeaderFont = 
      new System.Drawing.Font("Verdana",
         8.25F,
         System.Drawing.FontStyle.Bold, 
         System.Drawing.GraphicsUnit.Point,
         ((System.Byte)(0)));

   // 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(); 
   
   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 LinkColorChanged_Handler(object sender,EventArgs e)
{         
  MessageBox.Show("LinkColor changed to 'RED'", "DataGridTableStyle");
}

private void HeaderFontChanged_Handler(object sender,EventArgs e)
{                  
   MessageBox.Show("HeaderFont changed to 'VERDANA'",
      "DataGridTableStyle");
}
Private Sub AddCustomDataTableStyle()
   myDataGridTableStyle1 = New DataGridTableStyle()
   myDataGridTableStyle2 = New DataGridTableStyle()

   MessageBox.Show("LinkColor Before : " & myDataGridTableStyle1.LinkColor.ToString)
   MessageBox.Show("HeaderFont Before : " & myDataGridTableStyle1.HeaderFont.ToString)

   AddHandler myDataGridTableStyle1.LinkColorChanged, AddressOf LinkColorChanged_Handler
   AddHandler myDataGridTableStyle1.HeaderFontChanged, AddressOf HeaderFontChanged_Handler
   myDataGridTableStyle1.MappingName = "Customers"

   ' Set other properties.
   myDataGridTableStyle1.AlternatingBackColor = Color.LightGray
   myDataGridTableStyle1.LinkColor = Color.Red
   myDataGridTableStyle1.HeaderFont = New System.Drawing.Font _
            ("Verdana", 8.25F, System.Drawing.FontStyle.Bold, _
             System.Drawing.GraphicsUnit.Point, CType(0, System.Byte))

   ' 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()

   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 LinkColorChanged_Handler(ByVal sender As Object, ByVal e As EventArgs)
   MessageBox.Show("LinkColor changed to 'RED'", "DataGridTableStyle")
End Sub


Private Sub HeaderFontChanged_Handler(ByVal sender As Object, ByVal e As EventArgs)
   MessageBox.Show("HeaderFont changed to 'VERDANA'", "DataGridTableStyle")
End Sub

Remarks

To set header caption text, use the HeaderText property of the DataGridColumnStyle class.

Applies to

See also