開發技巧分享—FileMaker 樹形目錄 (2/4)

上一篇,我們介紹了實現樹形目錄所需要的搜索方面的理論知識。這一篇,我們會分享樹形目錄的層級生成機制。

樹形目錄層級機制

很多看過樹形目錄案例文件的朋友,都會有種看不懂的感覺。只看到案例文件裡面各種複雜的關係和腳本,外加各種命名複雜的 id 字段。但看完之後,還是無法理解樹形目錄的層級關係是如何形成的。

如果把那些擾亂視線的信息去除,樹形目錄的層級機制其實非常簡單。層級的生成只需要 3 個文本字段便可以控制,字段分別為:“創建序號”,“父級索引序號”以及“索引序號”。

“創建序號”字段就是記錄創建時生成的流水序號。流水號的位數需要事先確定,一般都是 2 位。這就意味著,這個表包括歷史創建在內的所有記錄最多不能超過 99 條。如果你的樹形目錄條目太多,那就預先設置為 3 位或更多位數。

“父級索引序號”,就是這條菜單記錄的父層級的索引序號。如果沒有上一級,那就直接賦值為 “00”的初始值。需要注意的是,這個初始值的位數一定要跟上面序號的位數相同。如果記錄比較多,就設置為“000”或者“0000”。

“索引序號”,是將父級索引序號和序號依次合併之後生成的序號。索引序號不僅唯一,而且代表了記錄之間層級的關係,是非常重要的字段。

樹形目錄演練

瞭解以上概念之後,我們就來通過 Excel 或者 Numbers 表格演練一番。我們先分別建一系列數據,然後按照三個字段各自的意義手動填寫數據。在填寫菜單名稱時,我們可以直接按照其所在層級,分別填寫在第一列、第二列和第三列。

開發技巧分享—FileMaker 樹形目錄 (2/4) - 層級機制

完成後,我們就得到了一個按創建順序排列的表格。這時候的數據,還不是我們想要的樹形目錄。但是,我們如果按照“索引序號”進行一次升序排列,非常神奇的一幕出現。整個表格自動變成了一個格式正確的樹形目錄。

開發技巧分享—FileMaker 樹形目錄 (2/4) - 層級機制

總結一下,樹形目錄的層級生成機制就是:

1. 通過“創建序號”、“父級索引序號”和“索引序號”來搭建層級關係

2. 通過“索引序號”排序來展現層級關係


分享到:


相關文章: