近期在做同类的信息记录管理系统时遇到了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. PyQt QString 与 Python str&unicode

    昨日,将许久以前做的模拟网页登录脚本用PyQt封装了一下,结果出大问题了, 登录无数次都提示登录失败!!而不用PyQt实现的GUI登录直接脚本登录无数次都提示登录成功!!心中甚是伤痛,于是探究起来,解 ...

  2. Elasticsearch 横向扩容以及容错机制

    写在前面的话:读书破万卷,编码如有神-------------------------------------------------------------------- 参考内容: <Ela ...

  3. Codeforces Round #358 (Div. 2) C. Alyona and the Tree 水题

    C. Alyona and the Tree 题目连接: http://www.codeforces.com/contest/682/problem/C Description Alyona deci ...

  4. Vue集成腾讯地图和几何库

    关于Vue中如何引入腾讯地图,百度搜索中的结果已经非常明确: /** * 腾讯地图. * @param key * @returns {Promise<any>} * @construct ...

  5. 重温JavaScript获取CSS样式的方法(兼容各浏览器)

    众所周知,CSS样式有三种类型:行内样式.内部样式和外部样式,JavaScript获取CSS样式时分为两种情况:行内样式获取法 和 非行内样式获取法 . 一.行内样式获取相对简单,通过element. ...

  6. SILICA Xynergy-M4 Board -- STM32F417 meets XILINX Spartan-6

    The SILICA Xynergy-M4 Board combines an ARM Cortex-M4 based STMicroelectronics STM32F417 controller ...

  7. MC34063A development aid

    http://www.nomad.ee/micros/mc34063a/index.shtml This is a simple-minded design tool that allows you ...

  8. linux strace追踪mysql执行语句 (mysqld --debug)

    转载请注明出处:使用strace追踪多个进程 http://www.ttlsa.com/html/1841.html http://blog.itpub.net/26250550/viewspace- ...

  9. 用swift开发仪表盘控件(一)

    苹果swift刚刚推出不久,接触到这个语言是一个偶然的机会,无聊之余随便看了下它的语法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5tYW95b2 ...

  10. eclipse svn最新更新地址

    http://subclipse.tigris.org/update_1.12.x http://subclipse.tigris.org/servlets/ProjectProcess?pageID ...