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

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

内容变更时自动调整

列的宽度自动调整

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

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

[C#]

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

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

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 时,可以省去参数。

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

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

[C#]

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

DataGridView列的宽度、行的高度自动调整相关推荐

  1. [Winform]DataGridView列自适应宽度

    引言 在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的. 方法 ...

  2. datagridvie设置行高列宽_DataGridView 列宽和行高自动调整的设定

    DataGridView 列宽和行高自动调整的设定 一.设定行高和列宽自动调整 1 .设定包括 Header 和所有单元格的列宽自动调整 DataGridView1.AutoSizeColumnsMo ...

  3. excel表格行宽列高怎么设置_解决方案:Excel自动调整列宽和行宽什么是快捷键? [Excel设置行高度自适应]...

    如何在Excel工作表中设置自动调整行高? 选择要设置的单元格,然后单击"开始" ----"单元格" ----"格式" ----" ...

  4. datagridvie设置行高列宽_DataGridView使用技巧(七、设定列宽和行高自动调整)----.NET...

    1) 设定行高和列宽自动调整 [VB.NET] ' 设定包括Header和所有单元格的列宽自动调整 DataGridView1.AutoSizeColumnsMode = DataGridViewAu ...

  5. DataGridView自动设定列宽和行高

    这篇文章介绍了DataGridView自动设定列宽和行高的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 设定行高和列宽自动调整 设定包括Header和所有 ...

  6. poi 获取excel列宽度_JAVA使用POI获取Excel的列数与行数

    JAVA使用POI获取Excel的列数与行数 发布于 2020-8-19| 复制链接 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Ja ...

  7. excel2010设置列宽为像素_使用像素单位设置 EXCEL 列宽或行高

    在导出 Excel 的时候, 经常要需要给列设置宽度或给行设置高度, 在使用 NPOI 或 EppPlus 等组件进行操作的时候, 列宽和行高的单位都不是像素, 好像是英寸,具体是啥也说不清. 平常在 ...

  8. DataGridView 列宽设置

    今天有个需求,要把数据显示在一个DataGridView中,为了美观,希望列宽可以只适应内容. 本想着如果实在没办法,就自己写代码实现了,没想到人家自己就提供了简便的方法. 就一行代码: Column ...

  9. JS组件系列——自己动手扩展BootstrapTable的 冻结列 功能:彻底解决高度问题

    阅读目录 一.问题追踪 二.效果预览 三.源码解析 1.源码各个方法解释 2.对于上述抛出的ie和谷歌的兼容性问题的解析 3.项目中的使用 4.扩展 四.总结 正文 前言:一年前,博主分享过一篇关于b ...

最新文章

  1. 进销存设计之——单据的数据表结构设计
  2. 构建前端自动化工作流环境
  3. 开放课程管理系统(Moodle)的介绍(转)
  4. 微软再出手!这次要干翻 IDEA 了。。
  5. 用JS判断不同分辨率调用不同的CSS样式文件
  6. 企业应用打包的时候 修改ipa包的bundle identifier
  7. python ocr 识别车牌_python 实现的车牌识别项目
  8. 多变量遗传算法python代码_遗传算法之Python实现代码
  9. php ora01017,使用dblink出现ORA-01017
  10. 亚马逊跨境商家会用的邮件管理软件—解孵
  11. 梯度提升(Gradient Boosting)算法
  12. linux命令看进程的tcp链接,Linux下查看TCP连接的状态的shell命令
  13. 微信小程序 实现带刻尺度滑块
  14. 判断ssh远程命令是否执行结束
  15. Linux系统创建vlan教程,linux vlan配置详解
  16. 计算机的基本组成及其工作原理
  17. 【HDFS】HDFS中的Trash功能
  18. 无线充电技术目前发展情况如何?对单片机行业有什么启示
  19. Python下应用opencv 背景消除或图片减法
  20. 长虹50名高管激励被隐匿 称绵阳政府不允许宣扬

热门文章

  1. linux搭建h5学习日记
  2. android带圆点的轮播图,Android 实现轮播图效果 底部圆点布局实现
  3. js——替换字符串中的空格
  4. android bilibili弹幕技术解析,bilibili弹幕定位
  5. 04-ET框架的事件系统
  6. 张飞硬件设计开发笔记(第一部)
  7. steam账号分享工具、迅游账号分享工具说明:
  8. SEO如何处理采集内容
  9. 台达触摸屏和电脑连接通讯时出现no reponse from HMI报警的解决办法
  10. 超前进位加法器实验报告_16位超前进位加法器实验报告