我的数据表格控件

 下载GridDLL演示

         我的编辑环境是VS2005,语言是C#,因为实际软件开发过程中经常用到像DataGrid或DataGridView这样的用来显示并编辑数据的控件,所以数据表格控件对我们来说是很重要的控件了.在以前我用过DataGrid,为了达到某种效果费尽了脑子,比如指定列编辑控件,整行选中,显示行号或添加一个合计行都是一个很有难度的问题,好在都已解决过了,可是在DataGrid控件中加入固定列的功能一直没有实现,觉得无耐啊.......

         后来在VS2005下微软新增加一个DataGridView控件,这个控件支持固定列功能,在功能上确实比DataGrid控件强大多了,在激动的开始试用这个控件后就有点失望了,没有别的,就是感觉控件刷的太慢了,感觉控件在显示上好坚难啊......没有办法,就先这么用着吧,可是后来又有新的要求了,比如在行的显示中要求当同一列的数据一样的时候要合并到一起来显示,在某列上要一个像Excell单元格一样的斜线来........我的天啊,这怎么搞!

        在经过多次的思考后我终于决定要自己写一个Grid了!只有这样我才能用的省事用的方便!

        怎么写呢,首先决定怎么来实现绘制Grid,我知道双缓冲可以解决绘制图形上的好多显示难点,而VS2005对这个功能又有很好的支持,于是我就展开了我的在脑子里想的很久的实现Grid的思路了.首先定义Grid中的列,列以用来显示列的标题,定义编辑控件,列的类型,长度,对齐,斜线合并固定的等属性,然后定义Grid的绘制对象Drawer,用这个对象来完成整个Grid的绘制,当有Paint消息的时候或有SizeChanged的时候,或是程序有要求刷新的时候都是这个忠实的类来完成了它的对我来说的伟大的使命.因为还要编辑数据,所以还要定义列的编辑控件,比如文本的,数值,日期型等等.

        感谢我的大胆尝试,我最终完成了我的想法实现了我自己的数据表格Grid!

        经过N次的Grid实用,改进了一次以一次的Grid,现在终于拿出来和大家面视了:)

        它在功能实现的大致上有列的合并,固定,数据的打印预览及生成Xml格式等,有较为丰富的事件和方法,如果大家有兴趣就下载下来试用吧,请大家不吝赐教!

你可能感兴趣的:(我的数据表格控件)