以前看到网上有一个scrolldatagrid控件,那时候真是羡慕啊,咋样才能写上这么个控件来解决日常显示很宽的数据
随着对.net的深入了解,前两天写了一个类似于SCrollDataGrid的控件。
在功能上,它支持scrollbar,排序,多表头,以及可以展开(普通显示,没有scrollbar)。
再来一张贴图
说说开发中的感想,
首先设想的ScrollDataGrid的数据输入是DataView;
因此,我用一个配置文件来定义数据如何显示,
比如:宽度,数据列名等信息。
于是有ColumnItem这个类,用于描述数据显示等信息,
这个类还必须包含一个数组,其类型也是ColumnItem,这是因为要考虑到多表头这种表现方式。
这个类的难点是要考虑
一棵树的宽度(即终端叶子数)和深度(从顶层到底层最大层数)及每个节点的深度(即从顶点到此节点的级数);
关于这些难点,我写过一篇文章
http://www.cnblogs.com/king_astar/archive/2005/05/11/153071.html
弄清这些后,再根据Html创建table的知识来搭建这个控件。
我再说一下,在CreateControls中我完成了哪些东西
实例化配置文件
创建控件ID
计算数的深度、宽度
得到所有终端列
创建table头
创建数据table
加载javascript脚本
这个控件,我感觉比较实用,希望对大家工作有帮助。
点击这里下载例子和控件dll