让DataGridView的列宽自适应内容

在使用DataGridView操作数据的时候,为了美观,希望列宽可以适应内容。

其实就一行代码:

Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

这就搞定了,效果就是列宽会根据内容以及表头宽度自行判断,最后调整到合适的宽度。

AutoSizeMode这个属性并不显示在“属性”窗口中。
如果你的DataGridView是动态绑定数据的,

那就只能在代码中设 置。
如果你的DataGridView列名是设计好的,那么可以在DataGridView上点击右键,选择“编辑列”,然 后选中你要设置自适应的列,在它的属性列表中的“布局”选项卡里面选择AutoSizeMode的类型。

AutoSizeMode属性可以设置的值还有不少:

成员名称 说明
NotSet 列的大小调整行为从DataGridView.AutoSizeColumnsMode 属性继承。
None 列宽不会自动调整。
AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格。
AllCellsExceptHeader 调整列宽,以适合该列中的所有单元格的内容,不包括标题单元格。
DisplayedCells 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,包括标题单元格。
DisplayedCellsExceptHeader 调整列宽,以适合当前屏幕上显示的行的列中的所有单元格的内容,不包括标题单元格。
ColumnHeader 调整列宽,以适合列标题单元格的内容。
Fill
调整列宽,使所有列的宽度正好填充控件的显示区域,只需要水平滚动保证列宽在DataGridViewColumn.MinimumWidth属性值以上。相对列宽由相对DataGridViewColumn.FillWeight属性值决定。

原文地址:https://www.cnblogs.com/cnote/p/8586441.html

时间: 2024-10-15 14:01:25

让DataGridView的列宽自适应内容的相关文章

NPOI 列宽自适应 代码示例

//列宽自适应,只对英文和数字有效 for (int i = 0; i <= maxColumn; i++) { sheet.AutoSizeColumn(i); } //获取当前列的宽度,然后对比本列的长度,取最大值 for (int columnNum = 0; columnNum <= maxColumn; columnNum++) { int columnWidth = sheet.GetColumnWidth(columnNum) / 256; for (int rowNum = 1

easyui datagird 列宽自适应

代码如下: 1 onLoadSuccess: function (data) { 2 var rows = data.rows; //得到行数据 3 var columnMaxCharacter = new Array(); //该列最大字符数 4 //遍历所有行数据,获得该列数据的最大字符数 5 var propertys = Object.getOwnPropertyNames(rows[0]); 6 for (var i = 0; i < rows.length; i++) { 7 for

TListView 列宽自适应大小

看图说话,直接看效果. 设置前: 设置后: 我使用的设置: listview1.Columns[1].Width:=-2; //Columns[1]设置SubItems 扩展: a. ListView.Column[0].Width := -1;//列宽根据列内容自适应,此时保证列内容都可见. b. ListView.Column[0].Width := -2;//列宽根据列标题自适应,此时保证列标题可见. 实践是检验真理的唯一标准..Let's do it together! 版权声明:本文为

关于OpenXml SpreadSheet列宽根据内容的Auto-suitability

因为之前接到的一个需求,让excel的宽度自动适应.所以最近一直在看Excel相关内容,从结构到.net的两个类库OpenXml和Office.Interop.Excel,再到一些具体的使用. 这次学习花费了很多东西,主要陷入了两个误区,一个是一开始先入为主的认为Openxml中微软肯定有解决方案(我以为功能很简单,而且Interop.Excel是有解决方法的,但是实际上并没有),另一个在style.xml里面陷入误区了(很想当然的认为了自动列宽应该在stylesheet.xml里面),结果好几

VC CListCtrl 第一列列宽自适应

原文链接: http://www.cnblogs.com/sephil/archive/2011/04/03/2004384.html 今天用VC写工具的时候用到CListView,并且ListCtrl的第一列需要自动拉伸,以占满空白区域 Delphi做这个设置是很容易的,只要将Column的AutoSize设置为True就可以了 不过VC/SDK的AutoSize其实是根据Item的文本长度来自动设置Column Width,跟我的要求不符,只好自己实现了 其实很简单,就是觉得麻烦... vo

highchart 柱状图,列宽自适应(x轴是时间的特殊情况)

1.柱子列宽自适属性: pointWidth:25, //柱子宽度,如果设定该值,则下面2个属性无效 pointPadding: 0.4,//每列之间的距离值,默认此值为0.1 groupPadding: 0,//每个值之间的间距,其实和poingPadding有一样的效果.不过这个主要是用于对付存在分组的情况 2.x轴属性设置里面,需要把间隔固定死,否则会出现柱子重叠情况 //表示时间间隔,4小时(如果不固定死,则数据源的量变多时,柱子会出现重叠情况) tickInterval: 4 * 36

datatables定义列宽自适应方法

不同的分辨率以及浏览器自适应,列表不出现滚动条,表格内容自动换行. 方法:通过定义表格列属性,结合<table>CSS样式和定义的列单元格样式 'td_huanhang'/'td_unhuanhang' "columnDefs": [ {targets: 9, orderable: false, width: "10%"}, ] columns: [ {"data": "addr", "name"

C# 使用NPOI导出Excel,首行冻结,添加筛选,填充颜色,列宽自适应

使用NuGet安装NPOI,添加以下命名空间 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.SS.Util; using NPOI.XSSF.UserModel; 添加类 ExcelExporter public static class ExcelExporter { /// <summary> /// DataTable导出Excel /// </summary> /// <param nam

DataGridView使用技巧五:自动设定列宽和行高

一.设定行高和列宽自动调整 设定包括Header和所有单元格的列宽自动调整 1 //设置包括Header和所有单元格的列宽自动调整 2 this.dgv_PropDemo.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 设定包括Header和所有单元格的行高自动调整 1 //设置包括Header和所有单元格的行高自动调整 2 this.dgv_PropDemo.AutoSizeRowsMode = DataGridV