DataGridView 列寬和行高自動調整的設定

1) 設定行高和列寬自動調整

// 設定包括Header和所有單元格的列寬自動調整

DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
// 設定包括Header和所有單元格的行高自動調整

DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

AutoSizeColumnsMode 屬性的設定值枚舉請參照 msdn 的 DataGridViewAutoSizeRowsMode 說明。

2)指定列或行自動調整

// 第一列自動調整

DataGridView1.Columns[0].AutoSizeMode =  DataGridViewAutoSizeColumnMode.DisplayedCells;

AutoSizeMode 設定爲 NotSet  時, 默認繼承的是  DataGridView.AutoSizeColumnsMode 屬性。

3) 設定列頭的高度和行頭的寬度自動調整

// 設定列頭的寬度可以自由調整

DataGridView1.ColumnHeadersHeightSizeMode =   DataGridViewColumnHeadersHeightSizeMode.AutoSize;
// 設定行頭的寬度可以自由調整

DataGridView1.RowHeadersWidthSizeMode =  DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;

4) 隨時自動調整

a, 臨時的,讓列寬自動調整,這和指定AutoSizeColumnsMode屬性一樣。

// 讓 DataGridView1 的所有列寬自動調整一下。

DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
// 讓 DataGridView1 的第一列的列寬自動調整一下。

DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells);

上面調用的 AutoResizeColumns 和 AutoResizeColumn 當指定的是DataGridViewAutoSizeColumnMode.AllCells 的時候, 參數可以省略。即: DataGridView1.AutoResizeColumn(0) 和 DataGridView1.AutoResizeColumns()

b,臨時的,讓行高自動調整

// 讓 DataGridView1 的所有行高自動調整一下。

DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);
//讓 DataGridView1 的第一行的行高自動調整一下。

DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells);

上面調用的 AutoResizeRows 和 AutoResizeRow 當指定的是DataGridViewAutoSizeRowMode.AllCells 的時候, 參數可以省略。即:DataGridView1.AutoResizeRow (0) 和 DataGridView1.AutoResizeRows()

c,臨時的,讓行頭和列頭自動調整

// 列頭高度自動調整

DataGridView1.AutoResizeColumnHeadersHeight();
// 行頭寬度自動調整

DataGridView1.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);

關於性能: 通過 AutoSizeColumnsMode 或者 AutoSizeRowsMode 屬性所指定的單元格進行自動調整時,如果調整次數過於多那麼將可能導致性能下降,尤其是在行和列數比較多的情況下。在這時用 DisplayedCells 代替 AllCells 能減少非所見的單元格的調整,從而提高性能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章