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

菜單展開/摺疊的原理

如果你學習過前三篇,應該已經可以開發出樹形目錄的基礎結構。要讓樹形目錄正常運行,還需要完成最後一步:即菜單的摺疊/展開功能。

要開發菜單的摺疊/展開腳本,先要了解摺疊/展開的原理,這裡我們就要用到我們第一篇學習的搜索知識了。

開發技巧分享—FileMaker 樹形目錄 (4/4) - FM 17 新入口

摺疊菜單的原理是在當前搜索的記錄裡,減去當前菜單的所有級別的子級菜單,也就是限制式搜索。搜索本身並不難,但是如何確定搜索條件是關鍵,也就是找到某個菜單的所有子級菜單。我們通過觀察菜單的索引序號,可以發現菜單的所有子級菜單都具備一個規律,即子級菜單的索引序號都是以父級菜單的索引序號為開端。這樣,我們就確定了搜索條件為:當前菜單索引序號 & “#*"。

開發技巧分享—FileMaker 樹形目錄 (4/4) - FM 17 新入口

展開菜單的原理是在當前搜索的記錄裡,加上當前菜單的下一級菜單,即擴展式搜索。這裡要注意,展開菜單不像摺疊菜單那樣針對所有子集菜單,展開菜單隻展開當前菜單的下一級菜單。所以,這裡的搜索條件是搜索比當前菜單索引序號多 2 位的記錄,即:當前菜單索引序號 & “##"。

開發技巧分享—FileMaker 樹形目錄 (4/4) - FM 17 新入口

在摺疊/展開菜單腳本中,除了摺疊和展開的部分,還需要刷新剩餘記錄的索引序號列表和轉到當前菜單行。這部分腳本,大家可以自己查看案例腳本。

開發技巧分享—FileMaker 樹形目錄 (4/4) - FM 17 新入口

我們在上一篇的案例添加上摺疊/展開腳本之後,案例菜單就可以正常運行了。

FileMaker 17 新入口製作樹形目錄

在 FileMaker 16 之前,我們使用列表模式來開發樹形目錄還比較侷限。但是,在最近發佈的 FileMaker 17 中,入口行工具得到更新,可以使用與當前佈局相同的表摹本作為數據來源。所以,我們就能將我們之前學習的樹形目錄,套用到入口中了。

開發技巧分享—FileMaker 樹形目錄 (4/4) - FM 17 新入口

套用的方法非常簡單,我們只需將原來的列表模式改為表單模式。然後,添加新的入口行工具,並在“顯示以下來源的記錄”處選擇當前表。

之後,將我們原來開發的樹形目錄按鈕和菜單名稱直接搬到入口行中就可以了。遷移之後,所有的按鈕或者組件無需修改,就能正常運行。

開發技巧分享—FileMaker 樹形目錄 (4/4) - FM 17 新入口

通過 4 篇文章,我們將製作樹形目錄的基本原理和方法全部分享給大家。但是,這並不是結束。通過這些基本原理和方法,我們可以開發出更加豐富多元的樹形目錄和類樹形目錄應用。希望大家以此為起點,開發出更加友好、現代的 FileMaker 系統。


分享到:


相關文章: