我们开发的过程中,经常遇到多栏表头的情况,目前我也找到控件可以支持这一结构,多栏表头树形结构一直是个很烦躁的问题。
一般情况这种树结构分横向和纵向两种表现形式。如下图中所示。
图1:
图2:
数据:这种多栏表格,首先需要一个树型结构的数据源 其次 他需要一个以树的叶子节点为列 展示数据的一个数据源。
这2个数据源 还不够,因为数据中 可能有每条记录的描述(在上图中就是列1.....列99)这是为这100条记录做的描述。
以图1为例子“ nodexx ”如果是发放工资条目 那么 “列1.....列99” 可能是发放的员工名称。
为了减轻复杂度,我这个控件在描述数据的时候 第一条记录 用来描述 “列1.....列99”;
样式:为了满足复杂的样式设计,我们提供了 标题列 即 “SW多栏树” 的样式接口,数据列 即“列1.....列99”的样式接口,树结构中的根节点样式接口,叶子节点样式接口以及数据项样式接口。
滚动:大量的“列1.....列99”涉及到 页面长度或者宽度不够的问题,div的滚动满足了 页面的整洁度,以及列头的固定更加人性化,代价是为了满足滚动,需要设置各项栏目的绝对宽度,而百分比的设定会让div计算不出是否滚动。
源码:我会上传到csdn的空间中供大家下载使用。如果有问题大家可以dds@vip.sina.com 给我讨论。