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
Применяется к
См. также раздел
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.