近期在做同类的信息记录管理系统时遇到了DataGridView数据控件的显示问题。可能是2015年的上半年没有深入

学习C#开发的原因。这几天又一次搬出来开发,首先遇到的问题就是动态绑定数据显示的问题。琢磨了非常久。在网上查

了也不少,可是对自己的数据列表显示问题还是没有做到最佳。

最后解决办法还是自己一个尝试出来的,尽管不是

非常好。但最起码遇到的问题都攻克了,顿时轻松了很多。

一默认状态的绑定

也就是没有设置DataGridView控件数据列表中的列的设置,其它的属性该设置还需设置。我们来看一下实际的效

果展示:

默认状态下,列的宽度都是相等的,短的数据能够全然显示出来。可是一些长字段的数据没有完整的显示出来;

还有就是整个数据列表并没有撑满整个容器。在数据列表和边界之间另一定的空白。

这对管理系统的界面显示不是

非常好,说白了就是用户体验也会下降,也须要改进。

二列宽自适应绑定

因为我的是数据时动态绑定的,这些列宽仅仅能在代码中进行设置,这是我在网上看到的,也并非非常了解,首先

尝试一下就知道了。

C#代码:

for (int i = 0; i < dgv_infor.ColumnCount; i++)
{
dgv_infor.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;//自适应列宽
}

dgv_infor代表是DataGridView控件,ColumnCount是动态绑定数据列表的列的个数,Columns是一个列数组集

合,后面的代码表示适用于全部的列。

实例显示:

这一次攻克了长短字段显示的问题。可是并没有解决撑满整个容器的问题,界面并不美观,并且假设进行数据添

加或更改的时候列宽还会随着字段的长短添加或降低。于是又在自己又进行尝试。

三设置AutoSizeColumnsMode属性

这个仅仅须要在DataGridView控件的属性中设置就可以:

效果:

它撑满了整个容器,可是还是有一定的数据显示问题,相同的列宽造成一些浪费。对长字段的列还是不会完整的

显示。对于短字段的列造成一定的剩余问题。

我想着把自适应列宽和这个属性一同设置和加代码编辑,非常遗憾还是这

样的显示,可能是这个属性覆盖了代码中的设置吧。

四自己定义列宽Columns[i].Width

既然上述的做法和尝试都无法惬意。也就是未解决存在的问题。我就想到了可不能够自定义每一个列的宽度。在

网上找了一下。都没有详细的代码。是能够自己定义列宽。可是无从下手,在代码中一个一个进行属性的尝试。试了七

八次以后最终有所显示了。为了调整合适的列宽也是花了非常长的时间。

在上面说过,Columns是列数组集合。那么它是一个数组,我们就能够对其进行每一列的设置。使其每一列都有

自己合适的宽度,而且撑满整个容器。

C#代码:

            dgv_infor.Columns[0].Width = 50;
dgv_infor.Columns[1].Width = 50;
dgv_infor.Columns[2].Width = 50;
dgv_infor.Columns[3].Width = 50;
dgv_infor.Columns[4].Width = 100;
dgv_infor.Columns[5].Width = 200;
dgv_infor.Columns[6].Width = 200;
dgv_infor.Columns[7].Width = 100;
dgv_infor.Columns[8].Width = 50;
dgv_infor.Columns[9].Width = 100;

效果展示:

五感悟

每一次的项目实践都会给自己带来一定的收获,自己非常希望能够多多參与一些项目的实战。毕竟仅仅有在实战中才

能找到自己的不足,前两天在慕课网社区看的一篇文章大二女生web开发成长之路——讲述我从软妹子到女汉子的进

阶过程。顿时就羡慕的不行,有自己的感兴趣的方向。也有个小小团队进行一起实践开发,并且还參与了那么的项目

开发,这更加激励自己该朝着什么方向去努力。

Winform控件之DataGridView数据控件显示问题的更多相关文章

  1. Winform系列——好看的DataGridView折叠控件

    来园子几年了,第一次写博客.以前看到别人的博客就在想:这些人怎么能有这么多时间整理这么多知识,难道他们不用工作.不用写代码.不用交付测试?随着工作阅历的增加,发现其实并不是时间的问题,关键一个字:懒. ...

  2. Silverlight 中datagrid控件-- 通过设置数据虚拟化加速显示

    定义依赖属性作为datagrid的数据源 protected static readonly DependencyProperty ViewLogsProperty = DependencyPrope ...

  3. 使用DataGridView数据窗口控件,构建用户快速输入体验

    在"随风飘散" 博客里面,介绍了一个不错的DataGridView数据窗口控件<DataGridView数据窗口控件开发方法及其源码提供下载>,这种控件在有些场合下,还 ...

  4. Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

    上一篇 Winform系列——好看的DataGridView折叠控件 中主要介绍了DataGridview的表格多级折叠功能.这章主要介绍下最近封装的另一个DataGridview表格高级过滤的功能. ...

  5. ASP.NET Web数据控件

    ASP.NET Web数据控件 1.数据控件简介 这包括数据源控件和格式设置控件,前者使您可以使用 Web 控件访问数据库中的数据,后者使您可以显示和操作ASP.NET 网页上的数据.  2.数据控件 ...

  6. 快速构建Windows 8风格应用4-FlipView数据控件

    原文:快速构建Windows 8风格应用4-FlipView数据控件 本篇博文主要介绍为什么使用FlipView控件.什么是FlipView控件.如何使用FlipView控件和FlipView控件最佳 ...

  7. 【我们一起写框架】MVVM的WPF框架(三)—数据控件

    这世上,没人能一次性写出完美无缺的框架:因为,任何一个框架都需要项目的淬炼,然后才能升华,趋近完美. 所以,框架是个反复修改的东西,最终形成的东西. 如果你学了一点技术,觉得自己可以写出框架了,觉得自 ...

  8. Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)

    jquery提供的serialize方法能够实现. $("#searchForm").serialize();但是,观察输出的信息,发现serialize()方法做的是将表单中的数 ...

  9. Windows Phone 8.1 新特性 - 控件之列表选择控件

    本篇我们来介绍Windows Phone 8.1 新特性中的列表选择控件. 在Windows Phone 8 时代,大家都会使用 LongListSelector 来实现列表选择控件,对数据进行分组显 ...

随机推荐

  1. ShellExecuteA函数

    原型: ShellExecuteA(, , , );//最大化打开记事本 第一个参数//系统启动第二个参数//open打开第三个参数//指令第四个参数//默认0第五个参数//默认0第六个参数//0隐藏 ...

  2. hdu 5248 贪心

    题意:

  3. Shell 学习笔记之传递参数

    传递参数 设置权限 chmod +x file.sh 传递参数 ./file.sh parameter1 ... 特殊字符 $# 传递到脚本的参数个数 $* 以一个单字符串的形式显示所有向脚本传递的参 ...

  4. OpenGL 模型视图投影矩阵 仿射矩阵

    矩阵基础知识 要对矩阵进行运算,必须先要了解矩阵的计算公式,这个知识的内容涉及到了线性代数. 我们知道在Cocos2dx中,有关于平移,旋转,缩放等等操作,都必须要进行矩阵的乘法. 只需要一张图就能理 ...

  5. XMOJ 1133: 膜拜大牛 计算几何/两圆相交

    1133: 膜拜大牛 Time Limit: 1 Sec  Memory Limit: 131072KiBSubmit: 9619  Solved: 3287 题目连接 http://acm.xmu. ...

  6. Codeforces Round #293 (Div. 2) C. Anya and Smartphone 数学题

    C. Anya and Smartphone time limit per test 1 second memory limit per test 256 megabytes input standa ...

  7. 【转】Spring中事务与aop的先后顺序问题

    [原文链接] http://my.oschina.net/HuifengWang/blog/304188 [正文] Spring中的事务是通过aop来实现的,当我们自己写aop拦截的时候,会遇到跟sp ...

  8. 【原】不定义Order属性,通过切面类的定义顺序来决定通知执行的先后顺序

    [结论] 在多个切面类的“切入点相同”并且每个切面都“没有定义order属性”的情况下,则切面类(中的通知)的执行顺序与该切面类在<aop:config>元素中“声明的顺序”相关,即先声明 ...

  9. hdu 4647 Another Graph Game,想到了就是水题了。。

    题目是给一个无向图,其中每个节点都有点权,边也有边权,然后就有2个小朋友开始做游戏了ALICE &BOB 游戏规定ALICE 先行动然后是BOB,然后依次轮流行动,行动时可以任意选取一个节点并 ...

  10. Vue2.1.7源码学习

    原本文章的名字叫做<源码解析>,不过后来想想,还是用“源码学习”来的合适一点,在没有彻底掌握源码中的每一个字母之前,“解析”就有点标题党了.建议在看这篇文章之前,最好打开2.1.7的源码对 ...