DataGridTableStyle.PreferredColumnWidth プロパティ

定義

新しいグリッドが表示されるときに作成する列に適用する幅を取得または設定します。

public:
 property int PreferredColumnWidth { int get(); void set(int value); };
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.DataGridPreferredColumnWidthTypeConverter))]
public int PreferredColumnWidth { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.DataGridPreferredColumnWidthTypeConverter))>]
member this.PreferredColumnWidth : int with get, set
Public Property PreferredColumnWidth As Integer

プロパティ値

新しいグリッドが表示されるときに作成する列に適用する幅。

属性

次のコード例では、このメンバーの使用方法を示します。

private:
   void CreateAndBindDataSet( DataGrid^ myDataGrid )
   {
      DataSet^ myDataSet = gcnew DataSet( "myDataSet" );
      DataTable^ myEmpTable = gcnew DataTable( "Employee" );

      // Create two columns, and add them to employee table.
      DataColumn^ myEmpID = gcnew DataColumn( "EmpID",int::typeid );
      DataColumn^ myEmpName = gcnew DataColumn( "EmpName" );
      myEmpTable->Columns->Add( myEmpID );
      myEmpTable->Columns->Add( myEmpName );

      // Add table to DataSet.
      myDataSet->Tables->Add( myEmpTable );

      // Populate table.
      DataRow^ newRow1;

      // Create employee records in employee Table.
      for ( int i = 1; i < 6; i++ )
      {
         newRow1 = myEmpTable->NewRow();
         newRow1[ "EmpID" ] = i;
         
         // Add row to Employee table.
         myEmpTable->Rows->Add( newRow1 );
      }
      myEmpTable->Rows[ 0 ][ "EmpName" ] = "Alpha";
      myEmpTable->Rows[ 1 ][ "EmpName" ] = "Beta";
      myEmpTable->Rows[ 2 ][ "EmpName" ] = "Omega";
      myEmpTable->Rows[ 3 ][ "EmpName" ] = "Gamma";
      myEmpTable->Rows[ 4 ][ "EmpName" ] = "Delta";

      // Bind DataGrid to DataSet.
      myDataGrid->SetDataBinding( myDataSet, "Employee" );
   }

   void Form1_Load( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Set and Display myDataGrid.
      myDataGrid->DataMember = "";
      myDataGrid->Location = System::Drawing::Point( 72, 32 );
      myDataGrid->Name = "myDataGrid";
      myDataGrid->Size = System::Drawing::Size( 240, 200 );
      myDataGrid->TabIndex = 4;

      // Add it to controls.
      Controls->Add( myDataGrid );
      CreateAndBindDataSet( myDataGrid );
      myDataGridTableStyle->MappingName = "Employee";

      // Set other properties.
      myDataGridTableStyle->AlternatingBackColor = Color::LightGray;

      // Add DataGridTableStyle instances to GridTableStylesCollection.
      myDataGridTableStyle->PreferredColumnWidth = 100;
      myColWidth->Text = "";
      myDataGrid->TableStyles->Add( myDataGridTableStyle );
      myDataGridTableStyle->PreferredColumnWidthChanged += gcnew EventHandler( this, &Form1::MyDelegatePreferredColWidthChanged );
   }

private:
   void MyDelegatePreferredColWidthChanged( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      MessageBox::Show( "Preferred Column width has changed" );
   }

private:
   void myButton_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      try
      {
         if (  !myColWidth->Text->Equals( "" ) )
         {
            Int32 newwidth = myDataGridTableStyle->PreferredColumnWidth;
            myDataGridTableStyle->PreferredColumnWidth = Int32::Parse( myColWidth->Text );

            // Dispose datagrid and datagridtablestyle and then create.
            delete myDataGrid;
            delete myDataGridTableStyle;
            myDataGrid = gcnew DataGrid;
            myDataGridTableStyle = gcnew DataGridTableStyle;
            myDataGrid->DataMember = "";
            myDataGrid->Location = System::Drawing::Point( 72, 32 );
            myDataGrid->Name = "myDataGrid";
            myDataGrid->Size = System::Drawing::Size( 240, 200 );
            myDataGrid->TabIndex = 4;
            Controls->Add( myDataGrid );
            CreateAndBindDataSet( myDataGrid );
            myDataGridTableStyle->MappingName = "Employee";

            // Set other properties.
            myDataGridTableStyle->AlternatingBackColor = Color::LightGray;

            // Add DataGridTableStyle instances to GridTableStylesCollection.
            myDataGridTableStyle->PreferredColumnWidth = newwidth;
            myColWidth->Text = "";
            myDataGrid->TableStyles->Add( myDataGridTableStyle );
            myDataGridTableStyle->PreferredColumnWidthChanged += gcnew EventHandler( this, &Form1::MyDelegatePreferredColWidthChanged );
         }
         else
         {
            MessageBox::Show( "Please enter a number" );
         }
      }
      catch ( Exception^ ex ) 
      {
         MessageBox::Show( ex->Message );
      }
   }
private void CreateAndBindDataSet(DataGrid myDataGrid)
{
   DataSet myDataSet = new DataSet("myDataSet");
   DataTable myEmpTable = new DataTable("Employee");
   // Create two columns, and add them to employee table.
   DataColumn myEmpID = new DataColumn("EmpID", typeof(int));
   DataColumn myEmpName = new DataColumn("EmpName");
   myEmpTable.Columns.Add(myEmpID);
   myEmpTable.Columns.Add(myEmpName);
   // Add table to DataSet.
   myDataSet.Tables.Add(myEmpTable);
   // Populate table.
   DataRow newRow1;
   // Create employee records in employee Table.
   for(int i = 1; i < 6; i++)
   {
      newRow1 = myEmpTable.NewRow();
      newRow1["EmpID"] = i;
      // Add row to Employee table.
      myEmpTable.Rows.Add(newRow1);
   }
   // Give each employee a distinct name.
   myEmpTable.Rows[0]["EmpName"] = "Alpha";
   myEmpTable.Rows[1]["EmpName"] = "Beta";
   myEmpTable.Rows[2]["EmpName"] = "Omega";
   myEmpTable.Rows[3]["EmpName"] = "Gamma";
   myEmpTable.Rows[4]["EmpName"] = "Delta";
   // Bind DataGrid to DataSet.
   myDataGrid.SetDataBinding(myDataSet, "Employee");
}

private void Form1_Load(object sender, System.EventArgs e)
{
   // Set and Display myDataGrid.
   myDataGrid.DataMember = "";
   myDataGrid.Location = new System.Drawing.Point(72, 32);
   myDataGrid.Name = "myDataGrid";
   myDataGrid.Size = new System.Drawing.Size(240, 200);
   myDataGrid.TabIndex = 4;
   // Add it to controls.
   Controls.Add(myDataGrid);
   CreateAndBindDataSet(myDataGrid);
   myDataGridTableStyle.MappingName = "Employee";
   // Set other properties.
   myDataGridTableStyle.AlternatingBackColor = Color.LightGray;
   // Add DataGridTableStyle instances to GridTableStylesCollection.
   myDataGridTableStyle.PreferredColumnWidth = 100;
   myColWidth.Text = "";
   myDataGrid.TableStyles.Add(myDataGridTableStyle);
   myDataGridTableStyle.PreferredColumnWidthChanged +=
         new EventHandler(MyDelegatePreferredColWidthChanged);
}

private void MyDelegatePreferredColWidthChanged(object sender, EventArgs e)
{
   MessageBox.Show("Preferred Column width has changed");
}

private void myButton_Click(object sender, System.EventArgs e)
{
   try
   {
      if( myColWidth.Text != "" )
      {
         int newwidth = myDataGridTableStyle.PreferredColumnWidth = 
            int.Parse(myColWidth.Text);
         // Dispose datagrid and datagridtablestyle and then create.
         myDataGrid.Dispose();
         myDataGridTableStyle.Dispose();
         myDataGrid = new DataGrid();
         myDataGridTableStyle = new DataGridTableStyle();
         myDataGrid.DataMember = "";
         myDataGrid.Location = new System.Drawing.Point(72, 32);
         myDataGrid.Name = "myDataGrid";
         myDataGrid.Size = new System.Drawing.Size(240, 200);
         myDataGrid.TabIndex = 4;
         Controls.Add(myDataGrid);
         CreateAndBindDataSet(myDataGrid);
         myDataGridTableStyle.MappingName = "Employee";
         // Set other properties.
         myDataGridTableStyle.AlternatingBackColor = Color.LightGray;
         // Add DataGridTableStyle instances to GridTableStylesCollection.
         myDataGridTableStyle.PreferredColumnWidth = newwidth;
         myColWidth.Text = "";
         myDataGrid.TableStyles.Add(myDataGridTableStyle);
         myDataGridTableStyle.PreferredColumnWidthChanged += 
            new EventHandler(MyDelegatePreferredColWidthChanged);
      }
      else
      {
         MessageBox.Show("Please enter a number");
      }
   }
   catch(Exception ex)
   {
      MessageBox.Show(ex.Message);
   }
}
Private Sub CreateAndBindDataSet(ByVal myDataGrid As System.Windows.Forms.DataGrid)
    Dim myDataSet As New DataSet("myDataSet")
    Dim myEmpTable As New DataTable("Employee")
    ' Create two columns, and add them to employee table.
    Dim myEmpID As New DataColumn("EmpID", GetType(Integer))
    Dim myEmpName As New DataColumn("EmpName")
    myEmpTable.Columns.Add(myEmpID)
    myEmpTable.Columns.Add(myEmpName)
    ' Add table to DataSet.
    myDataSet.Tables.Add(myEmpTable)
    ' Populate table.
    Dim newRow1 As DataRow
    ' Create employee records in employee Table.
    Dim i As Integer
    For i = 1 To 5
        newRow1 = myEmpTable.NewRow()
        newRow1("EmpID") = i
        ' Add row to Employee table.
        myEmpTable.Rows.Add(newRow1)
    Next i
    ' Give each employee a distinct name.
    myEmpTable.Rows(0)("EmpName") = "Alpha"
    myEmpTable.Rows(1)("EmpName") = "Beta"
    myEmpTable.Rows(2)("EmpName") = "Omega"
    myEmpTable.Rows(3)("EmpName") = "Gamma"
    myEmpTable.Rows(4)("EmpName") = "Delta"
    ' Bind DataGrid to DataSet.
    myDataGrid.SetDataBinding(myDataSet, "Employee")
End Sub


Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' Set and Display myDataGrid.
    myDataGrid.DataMember = ""
    myDataGrid.Location = New System.Drawing.Point(72, 32)
    myDataGrid.Name = "myDataGrid"
    myDataGrid.Size = New System.Drawing.Size(240, 200)
    myDataGrid.TabIndex = 4
    ' Add it to controls.
    Controls.Add(myDataGrid)
    CreateAndBindDataSet(myDataGrid)
    myDataGridTableStyle.MappingName = "Employee"
    ' Set other properties.
    myDataGridTableStyle.AlternatingBackColor = Color.LightGray
    ' Add DataGridTableStyle instances to GridTableStylesCollection.
    myDataGridTableStyle.PreferredColumnWidth = 100
    myColWidth.Text = ""
    myDataGrid.TableStyles.Add(myDataGridTableStyle)
    AddHandler myDataGridTableStyle.PreferredColumnWidthChanged, AddressOf MyDelegatePreferredColWidthChanged
End Sub


Private Sub MyDelegatePreferredColWidthChanged(ByVal sender As Object, ByVal e As EventArgs)
    MessageBox.Show("Preferred Column width has changed")
End Sub


Private Sub myButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles myButton.Click
    Try
        If myColWidth.Text <> "" Then
            Dim newwidth As Integer = Integer.Parse(myColWidth.Text)
            myDataGridTableStyle.PreferredColumnWidth = newwidth
            ' Dispose datagrid and datagridtablestyle and then create.
            myDataGrid.Dispose()
            myDataGridTableStyle.Dispose()
            myDataGrid = New Windows.Forms.Datagrid()
            myDataGridTableStyle = New DataGridTableStyle()
            myDataGrid.DataMember = ""
            myDataGrid.Location = New System.Drawing.Point(72, 32)
            myDataGrid.Name = "myDataGrid"
            myDataGrid.Size = New System.Drawing.Size(240, 200)
            myDataGrid.TabIndex = 4
            Controls.Add(myDataGrid)
            CreateAndBindDataSet(myDataGrid)
            myDataGridTableStyle.MappingName = "Employee"
            ' Set other properties.
            myDataGridTableStyle.AlternatingBackColor = Color.LightGray
            ' Add DataGridTableStyle instances to GridTableStylesCollection.
            myDataGridTableStyle.PreferredColumnWidth = newwidth
            myColWidth.Text = ""
            myDataGrid.TableStyles.Add(myDataGridTableStyle)
            AddHandler myDataGridTableStyle.PreferredColumnWidthChanged, AddressOf MyDelegatePreferredColWidthChanged
        Else
            MessageBox.Show("Please enter a number")
        End If
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub

適用対象

こちらもご覧ください