DataGridView 列宽和行高自动调整的设定

1)  设定行高和列宽自动调整

[VB.NET]
设定包括 Header 和所有单元格的列宽自动调整
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells

设定包括 Header 和所有单元格的行高自动调整
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells

 

[C#]
//  设定包括 Header 和所有单元格的列宽自动调整
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

//  设定包括 Header 和所有单元格的行高自动调整
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;


AutoSizeColumnsMode 
属性的设定值枚举请参照  msdn   DataGridViewAutoSizeRowsMode  说明。

2
)指定列或行自动调整

[VB.NET]
'   第一列自动调整
DataGridView1.Columns(0).AutoSizeMode = _
    DataGridViewAutoSizeColumnMode.DisplayedCells

 

[C#]
//  第一列自动调整
DataGridView1.Columns[0].AutoSizeMode =
    DataGridViewAutoSizeColumnMode.DisplayedCells;


AutoSizeMode 
设定为  NotSet   时,   默认继承的是   DataGridView.AutoSizeColumnsMode  属性。

3) 
设定列头的高度和行头的宽度自动调整

[VB.NET]
'   设定列头的宽度可以自由调整
DataGridView1.ColumnHeadersHeightSizeMode = _
    DataGridViewColumnHeadersHeightSizeMode.AutoSize

'   设定行头的宽度可以自由调整
DataGridView1.RowHeadersWidthSizeMode = _
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders

 

[C#]
//  设定列头的宽度可以自由调整
DataGridView1.ColumnHeadersHeightSizeMode =
    DataGridViewColumnHeadersHeightSizeMode.AutoSize;

//  设定行头的宽度可以自由调整
DataGridView1.RowHeadersWidthSizeMode =
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;


4
  随时自动调整
a
  临时的,让列宽自动调整,这和指定 AutoSizeColumnsMode 属性一样。

[VB.NET]
 DataGridView1  的所有列宽自动调整一下。
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)

 DataGridView1  的第一列的列宽自动调整一下。
DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells)

 

[C#]
//   DataGridView1  的所有列宽自动调整一下。
DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);

//   DataGridView1  的第一列的列宽自动调整一下。
DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells);

上面调用的  AutoResizeColumns   AutoResizeColumn  当指定的是 DataGridViewAutoSizeColumnMode.AllCells  的时候,   参数可以省略。即:
DataGridView1.AutoResizeColumn(0) 
 DataGridView1.AutoResizeColumns()

b
,临时的,让行高自动调整

[VB.NET]
 DataGridView1  的所有行高自动调整一下。
DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells)

 DataGridView1  的第一行的行高自动调整一下。
DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells)

 

[C#]
//   DataGridView1  的所有行高自动调整一下。
DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);

//  DataGridView1  的第一行的行高自动调整一下。
DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells);

上面调用的  AutoResizeRows   AutoResizeRow  当指定的是 DataGridViewAutoSizeRowMode.AllCells  的时候,   参数可以省略。即: DataGridView1.AutoResizeRow (0)   DataGridView1.AutoResizeRows()

c
,临时的,让行头和列头自动调整

[VB.NET]
列头高度自动调整
DataGridView1.AutoResizeColumnHeadersHeight()

行头宽度自动调整  
DataGridView1.AutoResizeRowHeadersWidth( _
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)

 

[C#]
//  列头高度自动调整
DataGridView1.AutoResizeColumnHeadersHeight();

//  行头宽度自动调整
DataGridView1.AutoResizeRowHeadersWidth(
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);


关于性能:
通过  AutoSizeColumnsMode  或者  AutoSizeRowsMode  属性所指定的单元格进行自动调整时,如果调整次数过于多那么将可能导致性能下降,尤其是在行和列数比较多的情况下。在这时用  DisplayedCells  代替  AllCells  能减少非所见的单元格的调整,从而提高性能。




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/201782,如需转载请自行联系原作者

你可能感兴趣的:(DataGridView 列宽和行高自动调整的设定)