DataGridView列自适应宽度
来源:http://www.cnblogs.com/wolf-sun/p/3480104.html
在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的。
结果
没设置自适应列宽的
使用自适应列宽的
/// <summary>
/// 使DataGridView的列自适应宽度
/// </summary>
/// <param name="dgViewFiles"></param>
private void AutoSizeColumn(DataGridView dgViewFiles)
{
int width = ;
//使列自使用宽度
//对于DataGridView的每一个列都调整
for (int i = ; i < dgViewFiles.Columns.Count; i++)
{
//将每一列都调整为自动适应模式
dgViewFiles.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
//记录整个DataGridView的宽度
width += dgViewFiles.Columns[i].Width;
}
//判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度,
//则将DataGridView的列自动调整模式设置为显示的列即可,
//如果是小于原来设定的宽度,将模式改为填充。
if (width > dgViewFiles.Size.Width)
{
dgViewFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
}
else
{
dgViewFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
//冻结某列 从左开始 0,1,2
dgViewFiles.Columns[].Frozen = true;
}
调用:
//调整列宽
AutoSizeColumn(dgViewFiles);
代码中有用到通过反射属性来获取特殊名称来绑定DataGridView
http://www.cnblogs.com/wolf-sun/p/3854262.html
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainForm_Load(object sender, EventArgs e)
{
//通过反射的方式添加列
Type type = typeof(FileMessage);
PropertyInfo[] propertyInfos = type.GetProperties();
foreach (PropertyInfo propertyInfo in propertyInfos)
{
object[] objs = propertyInfo.GetCustomAttributes(typeof(DescriptionAttribute), true);
if (objs.Length > )
{
DescriptionAttribute attr = objs[] as DescriptionAttribute;
string result = attr.Description;
this.dgViewFiles.Columns.Add(result, result);
}
}
//调整列宽
AutoSizeColumn(dgViewFiles); }
/// <summary>
/// 文件信息
/// </summary>
public class FileMessage
{
/// <summary>
/// 序号
/// </summary>
[Description("序号")]
public int intCount { get; set; }
/// <summary>
/// 文件路径
/// </summary>
[Description("文件路径")]
public string strFilePath { set; get; }
/// <summary>
/// 文件名
/// </summary>
[Description("文件名")]
public string strFileName { set; get; }
/// <summary>
/// 文件类型
/// </summary>
[Description("文件类型")]
public string strFileType { set; get; }
}
DataGridView列自适应宽度的更多相关文章
- [Winform]DataGridView列自适应宽度
引言 在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的. 方法 ...
- DataGridView 列自适应宽度 设置
代码: Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; 或者设置DataGridView的AutoSizeColu ...
- DataGridView列的宽度、行的高度自动调整
注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. 介绍一下DataGridView列的宽度和行的高度,根据单元格或Header的内容(一般是内容全部被表示)自 ...
- 转:DataGridView列的宽度、行的高度自动调整
注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. 介绍一下DataGridView列的宽度和行的高度,根据单元格或Header的内容(一般是内容全部被表示)自 ...
- Java导出Excel表,POI 实现合并单元格以及列自适应宽度(转载)
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...
- POI 实现合并单元格以及列自适应宽度
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是: sheet.addMergedRegion(new CellRangeAddress ...
- [WinForm]DataGridView列自适应
关键代码: /// <summary> /// 根据cell内容调整其宽度 /// </summary> /// <param name="girdview&q ...
- css两列自适应宽度布局(左定宽,右自适应)
1.利用BFC: <div id="root"> <div class="left">左</div> <div cla ...
- Qt的tablewidget行列头自适应宽度
Qt构造一个TableWidget后,窗口最大化后,列头默认不能自适应宽度,研究了一下,Qt提供了两种方式来处理这个问题,如下: 1. 使用horizontalHeader()->setRe ...
随机推荐
- MySQL JDBC驱动下载
下载地址:https://pan.baidu.com/s/1VLNaV_rz2P1jMtYrjJydiQ
- 在eclipse中使用Maven3(笔记二)
笔记本二 在Eclipse 中使用Maven 第一节:m2eclipse 插件安装 打开Eclipse,点击菜单Help - > Install New Software 点击Add 按钮N ...
- php强制输出到浏览器下载
$file_name="test.mp3"; $mp3_url = "";header( "Pragma: public" );header ...
- CSU 1355 地雷清除计划
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1355 好题,根本想不到是网络流. 模型如图: 假想从右上角到左下角有一条阻拦线,我们就是 ...
- fatal error LNK1104: 无法打开文件“libc.lib”的问题
如果将用低版本的VC开发的项目,拿到高版本的VC开发环境上去编译,链接时也许会触发LNK1104错误.解决方案是链接时忽略此库,在此提供三种解决方案: 1.解决如下:项目->属性中->配置 ...
- matplotlib 练习
官网 vamei的博客还是读了就秒懂,很妙, matplotlib核心剖析 官网翻译也不错,但缺少了 Logarithmic and other nonlinear axis对数等非线性轴 这一模块 ...
- 第六章:加载或保存JSON数据
加载或保存JSON数据 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地存储需要序列化数据),交换数据最方便的就是使用JSON格式 – 大多 ...
- Recursion in Java
Recursion in Java 递归无出口 public class RecursionExample1 { public static void p() { System.out.println ...
- HDU 6030 Happy Necklace
矩阵快速幂. 因为任意素数长度都要满足,所以$3$必须满足,$3$一旦满足,其余的肯定满足,也就是说只要考虑字符串末尾两位即可,$dp$一下就可以算方案数了.$n$较大,可以矩阵加速. #includ ...
- Scrapy实战篇(六)之Scrapy配合Selenium爬取京东信息(上)
在之前的一篇实战之中,我们已经爬取过京东商城的文胸数据,但是前面的那一篇其实是有一个缺陷的,不知道你看出来没有,下面就来详细的说明和解决这个缺陷. 我们在京东搜索页面输入关键字进行搜索的时候,页面的返 ...