来源:http://www.cnblogs.com/wolf-sun/p/3480104.html

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

结果

没设置自适应列宽的

使用自适应列宽的

185         /// <summary>
186         /// 使DataGridView的列自适应宽度
187         /// </summary>
188         /// <param name="dgViewFiles"></param>
189         private void AutoSizeColumn(DataGridView dgViewFiles)
190         {
191             int width = 0;
192             //使列自使用宽度
193             //对于DataGridView的每一个列都调整
194             for (int i = 0; i < dgViewFiles.Columns.Count; i++)
195             {
196                 //将每一列都调整为自动适应模式
197                 dgViewFiles.AutoResizeColumn(i, DataGridViewAutoSizeColumnMode.AllCells);
198                 //记录整个DataGridView的宽度
199                 width += dgViewFiles.Columns[i].Width;
200             }
201             //判断调整后的宽度与原来设定的宽度的关系,如果是调整后的宽度大于原来设定的宽度,
202             //则将DataGridView的列自动调整模式设置为显示的列即可,
203             //如果是小于原来设定的宽度,将模式改为填充。
204             if (width > dgViewFiles.Size.Width)
205             {
206                 dgViewFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
207             }
208             else
209             {
210                 dgViewFiles.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
211             }
212             //冻结某列 从左开始 0,1,2
213             dgViewFiles.Columns[1].Frozen = true;
214         }

调用:

 //调整列宽AutoSizeColumn(dgViewFiles);


代码中有用到通过反射属性来获取特殊名称来绑定DataGridView

http://www.cnblogs.com/wolf-sun/p/3854262.html

 /// <summary>
161         /// 窗体加载
162         /// </summary>
163         /// <param name="sender"></param>
164         /// <param name="e"></param>
165         private void MainForm_Load(object sender, EventArgs e)
166         {
167             //通过反射的方式添加列
168             Type type = typeof(FileMessage);
169             PropertyInfo[] propertyInfos = type.GetProperties();
170             foreach (PropertyInfo propertyInfo in propertyInfos)
171             {
172                 object[] objs = propertyInfo.GetCustomAttributes(typeof(DescriptionAttribute), true);
173                 if (objs.Length > 0)
174                 {
175                     DescriptionAttribute attr = objs[0] as DescriptionAttribute;
176                     string result = attr.Description;
177                     this.dgViewFiles.Columns.Add(result, result);
178                 }
179             }
180             //调整列宽
181             AutoSizeColumn(dgViewFiles);
182
183
184         }

View Code

 /// <summary>
11     /// 文件信息
12     /// </summary>
13     public class FileMessage
14     {
15         /// <summary>
16         /// 序号
17         /// </summary>
18         [Description("序号")]
19         public int intCount { get; set; }
20         /// <summary>
21         /// 文件路径
22         /// </summary>
23         [Description("文件路径")]
24         public string strFilePath { set; get; }
25         /// <summary>
26         /// 文件名
27         /// </summary>
28         [Description("文件名")]
29         public string strFileName { set; get; }
30         /// <summary>
31         /// 文件类型
32         /// </summary>
33         [Description("文件类型")]
34         public string strFileType { set; get; }
35     }

View Code

DataGridView列自适应宽度相关推荐

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

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

  2. 沫沫金:2014最新全浏览器兼容左列固定右列自适应宽度技巧大公开

    做前端的人肯定会遇到经典的左列固定,右列自适应宽度的样式效果.这种想起来很简单做起来很麻烦的事情今天你有好方案了. --不要信那些什么左侧写固定宽度,右侧不用写宽度属性和浮动属性,浏览器自动就实现右列 ...

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

    注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. 介绍一下DataGridView列的宽度和行的高度,根据单元格或Header的内容(一般是内容全部被表示)自 ...

  4. 一个三行两列右列固定左列自适应宽度的CSS

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html   PUBLIC "-/ ...

  5. elementui表格宽度适应内容_解决elementui表格操作列自适应列宽代码示例

    本篇文章小编给大家分享一下解决elementui表格操作列自适应列宽代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 写死宽度时是这样的: 开始 ...

  6. jGrid表格,用shrinkToFit属性设置列的宽度为不自适应表格宽度

    jGrid表格里,通常列的宽度会自适应的填充至整个表格,一般当字段多的时候倒没什么关系.但如果表内只有两三个字段,列的宽度自适应表的宽度后,看起来就很别扭. $("#meterTypeGri ...

  7. elementui表格宽度适应内容_解决elementui表格操作列自适应列宽

    业务需要前端根据用户权限动态显示对应按钮,直接把操作列的列宽写死的话,在按钮少的情况下不是那么好看,所以想到了一个骚操作... 写死宽度时是这样的: 开始 给操作列绑定宽度属性 :width=&quo ...

  8. DataGridView 列宽设置

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

  9. 两列自适应布局的4种思路

    前面的话 前面已经介绍过单列定宽单列自适应的两列布局,而两列自适应布局是指一列由内容撑开,另一列撑满剩余宽度的布局方式.本文将从float.table.flex和grid来介绍两列自适应布局的4种思路 ...

  10. html 三列布局(两列自适应,一列固定宽度)

    不做过多解释:主要是记录一个完整的布局样式,实现页面大致三列其中左右两列是自适应宽度,中间固定宽度效果. 不多少代码奉上: CSS样式代码: /******************** *公共标签样式 ...

最新文章

  1. R语言ggplot2可视化:将条形图(bar plot)和线图(line plot)组合在一起并使用双Y轴(double y axis)进行可视化、其中一个Y轴显示为百分比
  2. 在GridView中如何格式化Money型字段?
  3. 网站外链优化需要注意哪些事项?
  4. 【错误记录】Android 应用配置第三方 so 动态库 ( /data/app/comxxx==/base.apk/lib/arm64-v8a]couldn‘t find “libx.so“ )
  5. bread是可数还是不可数_​面包bread是可数名词还是不可数
  6. 你有必要知道的一些JavaScript 面试题(中)
  7. 电脑小白来一起学习计算机基础知识!
  8. 回顾一年的工作历程_【设备管理公司】召开20202021年度总结计划表彰暨工作述职会议...
  9. Linux必懂知识大总结(上)
  10. struts2自定义标签_Struts 2 –没有为动作和结果输入定义结果
  11. JDK(Install)
  12. 2018.7.11 昨天晚上的列表(字典)嵌套题
  13. Bash : 冒泡排序
  14. android自定义秒表,Android:一个简单的秒表实现
  15. Tips_linux
  16. python tkinter界面随分辨率自动调整尺寸,Tkinter画布自动调整大小
  17. 国产linux凝思4.2系统多网卡指定路由配置
  18. vue手动封装分页组件
  19. 骑士旅行问题(骑士走棋盘)
  20. 开发者特供丨72小时解锁华为黑科技,错过这次又等一年!

热门文章

  1. 打造金刚不坏之心的秘籍
  2. 小偷程序原理和简单示例
  3. Linux 内存管理之 SLUB分配器(6):slub debug 实例测试
  4. Linux设备驱动模型-Driver
  5. java接口测试httpclient_httpclient接口测试完整用例
  6. Linux链表list_head/hlist_head/hlist_nulls_head的并发性
  7. linux多CPU进程负载均衡解析
  8. LeetCode入门题 两数之和
  9. javafx给图形上颜色_红牛商标无效案:新欧盟商标条例下如何满足颜色商标注册条件?...
  10. 3811.排列-AcWing题库