2.展现与数据分离
Supcan Treelist遵循展现与数据分离的原则:决定 Treelist 外观的是一个XML文件,我们把它叫做 “XML描述文件” 或者 “模板文件”;而填入的数据则是独立的,通常来自一个 URL。
在页面上完整展示一个空的 Treelist 需要执行 Build 函数,在该 Treelist 中加载数据有如下三种方案:
1.执行 Load( ) 函数, 组件将立即访问该 URL、并将取得的数据填入到树列表中.
2.在 XML 模板的 <Properties> 中设置 dataURL 属性, 在执行 Build 的同时,它能继续访问该 URL 并取得数据,例如 <Properties dataURL="../serv/getdata?w=23" ...>.
3.在 XML 模板的 <Table> 节点中直接安置数据.
Treelist 的 XML 描述文件须符合《Treelist XML 文档规范》,该规范并不复杂,文档有6个顶级节点:
1.<Properties> - 总的外观、行为、背景等属性,以及列和列之间的逻辑关系、数据验证逻辑等;
2.<Fonts> - 用到的字体;
3.<Cols> - 每个列的详细描述,这是最关键内容;
4.<Droplists> - 下拉、主外键引用的数据源定义(
);
5.<FreeformBar> - 上方和下方的工具条(
);
6.<Table> - 夹带的纯数据(
);
Treelist的格式属性尽管由 XML 描述文件决定,但是通过 SetProp( ) 和 SetColProp( ) 函数,在页面中可以被动态更改(
);带参数的Build( )函数也可以强制更改其属性(
),请参考这3个函数的详细说明。
Treelist的填入数据来自一个 Http URL,数据格式支持 XML、JSON、TSV-TXT(Tab分隔列、回车分隔行的纯文本)。目前 XML 和 JSON 格式最流行,TSV-TXT 尽管不太流行,但也有其优势,那就是长度最短。有关数据格式的详细描述请参见下面的附录1:数据格式.