DataGridTableStyle.PreferredColumnWidth 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置在显示新网格时创建列所用的宽度。
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