次の方法で共有


DataGridTableStyle.PreferredColumnWidth プロパティ

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

Public Property PreferredColumnWidth As Integer
[C#]
public int PreferredColumnWidth {get; set;}
[C++]
public: __property int get_PreferredColumnWidth();public: __property void set_PreferredColumnWidth(int);
[JScript]
public function get PreferredColumnWidth() : int;public function set PreferredColumnWidth(int);

プロパティ値

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

使用例

 
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 'CreateAndBindDataSet


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 'Form1_Load


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


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 'myButton_Click

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

public 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);
   }
}

[C++] 
private:
    void CreateAndBindDataSet(DataGrid* myDataGrid) {
        DataSet* myDataSet = new DataSet(S"myDataSet");
        DataTable* myEmpTable = new DataTable(S"Employee");
        // Create two columns, and add them to employee table.
        DataColumn* myEmpID = new DataColumn(S"EmpID", __typeof(int));
        DataColumn* myEmpName = new DataColumn(S"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->Item[S"EmpID"] = __box(i);
            // Add row to Employee table.
            myEmpTable->Rows->Add(newRow1);
        }
        // Give each employee a distinct name.
        myEmpTable->Rows->Item[0]->Item[S"EmpName"] = S"Alpha";
        myEmpTable->Rows->Item[1]->Item[S"EmpName"] = S"Beta";
        myEmpTable->Rows->Item[2]->Item[S"EmpName"] = S"Omega";
        myEmpTable->Rows->Item[3]->Item[S"EmpName"] = S"Gamma";
        myEmpTable->Rows->Item[4]->Item[S"EmpName"] = S"Delta";
        // Bind DataGrid to DataSet.
        myDataGrid->SetDataBinding(myDataSet, S"Employee");
    }

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

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

private:
    void myButton_Click(Object* /*sender*/, System::EventArgs* /*e*/) {
        try {
            if (!myColWidth->Text->Equals(S"")) {
                Int32 newwidth = myDataGridTableStyle->PreferredColumnWidth;
                myDataGridTableStyle->PreferredColumnWidth =
                    Int32::Parse(myColWidth->Text);
                // Dispose datagrid and datagridtablestyle and then create.
                myDataGrid->Dispose();
                myDataGridTableStyle->Dispose();
                myDataGrid = new DataGrid();
                myDataGridTableStyle = new DataGridTableStyle();
                myDataGrid->DataMember = S"";
                myDataGrid->Location = System::Drawing::Point(72, 32);
                myDataGrid->Name = S"myDataGrid";
                myDataGrid->Size = System::Drawing::Size(240, 200);
                myDataGrid->TabIndex = 4;
                Controls->Add(myDataGrid);
                CreateAndBindDataSet(myDataGrid);
                myDataGridTableStyle->MappingName = S"Employee";
                // Set other properties.
                myDataGridTableStyle->AlternatingBackColor = Color::LightGray;
                // Add DataGridTableStyle instances to GridTableStylesCollection.
                myDataGridTableStyle->PreferredColumnWidth = newwidth;
                myColWidth->Text = S"";
                myDataGrid->TableStyles->Add(myDataGridTableStyle);
                myDataGridTableStyle->PreferredColumnWidthChanged += 
                    new EventHandler(this, &Form1::MyDelegatePreferredColWidthChanged);
            } else {
                MessageBox::Show(S"Please enter a number");
            }
        } catch (Exception* ex) {
            MessageBox::Show(ex->Message);
        }
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

DataGridTableStyle クラス | DataGridTableStyle メンバ | System.Windows.Forms 名前空間 | HeaderFont | HeaderText | PreferredRowHeight | PreferredColumnWidthChanged