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 能減小非所見的單元格的調整,從而提升性能。
相關文章
相關標籤/搜索