博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winform控件之DataGridView数据控件显示问题
阅读量:5775 次
发布时间:2019-06-18

本文共 1802 字,大约阅读时间需要 6 分钟。

       近期在做同类的信息记录管理系统时遇到了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;

        效果展示:

       五感悟

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

能找到自己的不足,前两天在慕课网社区看的一篇文章

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

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

你可能感兴趣的文章
android:spinner
查看>>
ubuntu14.04中 gedit 凝视能显示中文,而source insight中显示为乱码的解决的方法
查看>>
Java:IO流其他类(字节数组流、字符数组流、数据流、打印流、Properities、对象流、管道流、随机访问、序列流、字符串读写流)...
查看>>
Kudu1.1.0 、 Kudu1.2.0 Kudu1.3.0的版本信息异同比较
查看>>
TCP通信实现
查看>>
session深入解读
查看>>
利用gcc的__attribute__编译属性section子项构建初始化函数表【转】
查看>>
关于SWT常用组件(按钮,复选框,单选框(Button类))
查看>>
[Android Pro] Android libdvm.so 与 libart.so
查看>>
《响应式web设计》读书笔记(四)HTML5与CSS3
查看>>
[Step By Step]SAP HANA PAL多元指数回归预测分析Multiple Exponential Regression编程实例FORECASTWITHEXPR(预测)...
查看>>
JS魔法堂:mmDeferred源码剖析
查看>>
人不成熟的六大特征
查看>>
从自己的程序中使用lex的一个小例子
查看>>
[安卓][地图] 1、高德或百度地图开发第一步(高手跳过)
查看>>
从阶乘函数对比Javascript和C#函数
查看>>
第 25 章 Build tool
查看>>
thinkphp中的where()方法
查看>>
SQL Server 2014新特性探秘(1)-内存数据库
查看>>
guava之Joiner 和 Splitter
查看>>