加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

DataGridView列的宽度、行的高度自动调整

发布时间:2021-07-06 05:55:39 所属栏目:大数据 来源: https://blog.csdn.net/kasama1
导读:DataGridView列的宽度、行的高度自动调整 标签:?headerc#.net优化 2010-11-10 14:39 ? 11283人阅读 ? 评论(2) ? 收藏 ? 举报 ? 分类: ? .NET开发相关(87)? 目录(?) [+] 注意:DataGridView控件是从.NET Framework 2.0版本开始追加的。 介绍一下DataGridV
DataGridViewAutoSizeColumnsMode成员名称 说明 AllCells 列宽调整到适合列中所有单元格(包括标头单元格)的内容。 AllCellsExceptHeader 列宽调整到适合列中除标头单元格以外所有单元格内容。 ColumnHeader 列宽调整到适合列标头单元格的内容。 DisplayedCells 列宽调整到适合位于屏幕上当前显示的行中的列的所有单元格(包括标头单元格)的内容。 DisplayedCellsExceptHeader 列宽调整到适合位于屏幕上当前显示的列中的列的所有单元格(不包括标头单元格)的内容。 Fill 列宽调整到使所有列宽精确填充控件的显示区域,要求使用水平滚动的目的只是保持列宽大于DataGridViewColumn.MinimumWidth属性的值。相对列宽由相对 DataGridViewColumn.FillWeight属性值决定。 None 列宽不会自动调整。

行高的自动调整

DataGridView行的高度自动调整,可以使用DataGridView1.AutoSizeRowsMode属性实现。

[C#]

//根据Header和所有单元格的内容自动调整行的高度?DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

DataGridViewAutoSizeRowsMode枚举的成员如下所示(是从MSDN「DataGridViewAutoSizeRowsMode 枚举」引用的)。

DataGridViewAutoSizeRowsMode成员名称 说明 AllCells 将行高调整到适合行中所有单元格(包括标头单元格)的内容。 AllCellsExceptHeaders 将行高调整到适合行中所有单元格(不包括标头单元格)的内容。 AllHeaders 将行高调整到适合行标头的内容。 DisplayedCells 将行高调整到适合屏幕上当前显示的行中所有单元格(包括标头单元格)的内容。 DisplayedCellsExceptHeaders 将行高调整到适合屏幕上当前显示的行中所有单元格(不包括标头单元格)的内容。 DisplayedHeaders 将行高调整到适合屏幕上当前显示的行标头的内容。 None 行高不自动调整。

列Header的高度、行Header的宽度自动调整

列Header的高度自动调整,可以通过设定DataGridView对象ColumnHeadersHeightSizeMode属性为DataGridViewColumnHeadersHeightSizeMode.AutoSize实现。

行Header的宽度行自动调整,可以通过设定DataGridView对象RowHeadersWidthSizeMode属性为DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders(根据所有行Header的内容自动调整)或AutoSizeToDisplayedHeaders(根据当前显示的行Header内容自动调整)或AutoSizeToFirstHeader(根据第一行Header的内容自动调整)来实现。

[C#]

//列Header的高度自动调整?DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;? //行Header的宽度自动调整DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;

关于优化

通过设定AutoSizeColumnsMode或AutoSizeRowsMode属性,列或行可以根据单元格的内容变更,自动调整,但是经常使用这种方法,运行速度就会低下。尤其当行或列数量比较多时,更为明显。

这时,可以替换AllCells而设定DisplayedCells,只对当前显示单元格的内容自动调整,这样就可以提高执行速度。

只有被指定的列自动调整

只有被指定列自动调整,可以使用指定列(DataGridViewColumn对象)的AutoSizeMode属性实现。使用方法和AutoSizeColumnsMode属性基本一样。

下面是对第一列的宽度自动调整的代码。

[C#]

//第一列的宽度自动调整?DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;

和AutoSizeColumnsMode属性不同,AutoSizeMode属性可以设定为NotSet。当设定为NotSet时,列的自动调整的设定会继承DataGridView.AutoSizeColumnsMode属性的设定。AutoSizeMode属性设定为NotSet继承AutoSizeColumnsMode属性时,所继承的设定可以使用DataGridViewColumn.InheritedAutoSizeMode属性取得。

任意自动调整

列的宽度自动调整

对DataGridView内所有列只进行一次自动调整,可以使用DataGridView对象的AutoResizeColumns方法实现。AutoResizeColumns方法和AutoSizeColumnsMode属性一样,根据DataGridViewAutoSizeColumnsMode枚举值指定自动调整的方法。如果只对指定列自动调整时,可以使用DataGridView对象的AutoResizeColumn方法。

[C#]

//DataGridView1所有列的宽度自动调整DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);? //DataGridView1第一列的宽度自动调整?DataGridView1.AutoResizeColumn(0,DataGridViewAutoSizeColumnMode.AllCells);

补充:上面的例子中使用AutoResizeColumns或AutoResizeColumn指定DataGridViewAutoSizeColumnMode.AllCells时,可以省去参数。

行的高度自动调整

和列的设定一样,使用AutoResizeRows方法只对指定行的高度进行自动调整。

[C#]

//DataGridView1所有行的高度自动调整DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);? //DataGridView1第一行的高度自动调整?DataGridView1.AutoResizeRow(0,DataGridViewAutoSizeRowMode.AllCells);

补充:上面的例子中使用AutoResizeRows或AutoResizeRow指定DataGridViewAutoSizeRowMode.AllCells 时,可以省去参数。

@L_301_27@列Header的高度或行Header和宽度自动调整

列Header的高度和行Header的宽度的自动调整,可以使用DataGridView.AutoResizeColumnHeadersHeight方法和AutoResizeRowHeadersWidth方法实现。

[C#]

//所有列Header的高度自动调整?DataGridView1.AutoResizeColumnHeadersHeight();? //行Header的宽度自动调整DataGridView1.AutoResizeRowHeadersWidth( DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

DataGridView列的宽度、行的高度自动调整

标签:?headerc#.net优化 ? 11283人阅读? 评论(2)? 收藏? 举报

? 分类: ?

目录(?)[+]

注意:DataGridView控件是从.NET Framework 2.0版本开始追加的。

介绍一下DataGridView列的宽度和行的高度,根据单元格或Header的内容(一般是内容全部被表示)自动调整的方法。

@L_502_10@内容变更时自动调整

列的宽度自动调整

DataGridView列的宽度自动调整,可以使用DataGridView.AutoSizeColumnsMode属性实现。

下面的代码就是列的宽度根据Header和所有单元格的内容自动调整的。

[C#]

//根据Header和所有单元格的内容自动调整列的宽度?DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

DataGridViewAutoSizeColumnsMode枚举的成员如下所示(是从MSDN「DataGridViewAutoSizeColumnsMode 枚举」引用的)。

    推荐文章
      热点阅读