DataGridTableStyle.PreferredColumnWidth Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the width used to create columns when a new grid is displayed.
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
Property Value
The width used to create columns when a new grid is displayed.
- Attributes
Examples
The following code example demonstrates the use of this member.
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
Applies to
See also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.