近期在做同类的信息记录管理系统时遇到了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. Codeforces.714D.Searching Rectangles(交互 二分)

    题目链接 \(Description\) 在一个\(n*n\)的二维平面中有两个不相交的整点矩形,每次可以询问两个矩形有几个完全在你给出的一个矩形中.200次询问内确定两个矩形坐标. \(Soluti ...

  2. [POI2015]Logistyka

    [POI2015]Logistyka 题目大意: 一个长度为\(n(n\le10^6)\)的数列\(A_i\),初始全为\(0\).操作共\(m(m\le10^6)\)次,包含以下两种: 将\(A_x ...

  3. 【转载】VC操作剪切板

    1.在剪切板上放置数据 if(OpenClipboard())    //打开剪切板{    EmptyClipboard(); //清空剪切板    CString str;       //从控件 ...

  4. Educational Codeforces Round 13 D. Iterated Linear Function 水题

    D. Iterated Linear Function 题目连接: http://www.codeforces.com/contest/678/problem/D Description Consid ...

  5. php在linux后台执行

    <?php ignore_user_abort();//后台运行 ini_set('default_socket_timeout', -1);//socket不超时 set_time_limit ...

  6. 解决IE11下载文件 文件名乱码问题

    1.Win + R输入gpedit.msc打开组策略编辑器:(不会请看下图) 2.定位到计算机配置→管理模板→windows组件→Internet Explorer→自定义用户代理字符串(有些系统用的 ...

  7. unity热更新

    Unity3D 学习笔记4 —— UGUI+uLua游戏框架 C#Light 和 uLua的对比第二弹 在Unity中使用Lua脚本:语言层和游戏逻辑粘合层处理 Ulua_toLua_基本案例 Uni ...

  8. C# iTextSharp 生成 PDF

    使用iTextSharp在Asp.Net中操作PDF系列文章 目录 http://www.cnblogs.com/CareySon/category/332146.html 实战 iTextSharp ...

  9. ios的一些知识点

    ios的一些知识点 一 非ARC的内存管理情况 1-autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段落,开 ...

  10. 《Head First 设计模式》学习笔记——策略模型

    我们全都使用别人设计好的库与框架.我们讨论库与框架.利用他们的API编译成我们的程序.享受运用别人的代码所带来的长处.看看java api它所带来的功能:网络.GUI.IO等.库与框架长久以来,一直扮 ...