开发技巧分享—FileMaker 树形目录 (2/4) - 层级
上一篇,我们介绍了实现树形目录所需要的搜索方面的理论知识。这一篇,我们会分享树形目录的层级生成机制。
树形目录层级机制
很多看过树形目录案例文件的朋友,都会有种看不懂的感觉。只看到案例文件里面各种复杂的关系和脚本,外加各种命名复杂的 id 字段。但看完之后,还是无法理解树形目录的层级关系是如何形成的。
如果把那些扰乱视线的信息去除,树形目录的层级机制其实非常简单。层级的生成只需要 3 个文本字段便可以控制,字段分别为:“创建序号”,“父级索引序号”以及“索引序号”。
“创建序号”字段就是记录创建时生成的流水序号。流水号的位数需要事先确定,一般都是 2 位。这就意味着,这个表包括历史创建在内的所有记录最多不能超过 99 条。如果你的树形目录条目太多,那就预先设置为 3 位或更多位数。
“父级索引序号”,就是这条菜单记录的父层级的索引序号。如果没有上一级,那就直接赋值为 “00”的初始值。需要注意的是,这个初始值的位数一定要跟上面序号的位数相同。如果记录比较多,就设置为“000”或者“0000”。
“索引序号”,是将父级索引序号和序号依次合并之后生成的序号。索引序号不仅唯一,而且代表了记录之间层级的关系,是非常重要的字段。
树形目录演练
了解以上概念之后,我们就来通过 Excel 或者 Numbers 表格演练一番。我们先分别建一系列数据,然后按照三个字段各自的意义手动填写数据。在填写菜单名称时,我们可以直接按照其所在层级,分别填写在第一列、第二列和第三列。
完成后,我们就得到了一个按创建顺序排列的表格。这时候的数据,还不是我们想要的树形目录。但是,我们如果按照“索引序号”进行一次升序排列,非常神奇的一幕出现。整个表格自动变成了一个格式正确的树形目录。
总结一下,树形目录的层级生成机制就是:
1. 通过“创建序号”、“父级索引序号”和“索引序号”来搭建层级关系
2. 通过“索引序号”排序来展现层级关系