由於最近在開發過程中, 發現 Form 無法使用 Button 或 OnSelect 進行互動, 花了點時間測試, 故寫入文章進行紀錄以便後續又遇到時可以想起。
正文
設計過程中我們可能期待使用 Form 查閱資料, 並且在 Form 中設計點擊 Button 或 OnSelect 後開啟資料細節或進行其他互動。
使用範例如下:
我們想設計一個 Button 在 Form 的 DataCard 內, 然後設計 Button 的 OnSelect 在每點擊一次時在 Num 變數上 +1。
最後右側可顯示結果。
我們期待的結果如下:每點一下會加一
可是 Form 使用 View 的狀況我們會發現:Button 怎麼點都不會 +1, 這就奇怪了。
眼尖的朋友可以會發現 Display Mode 為 Edit 的時候可以進行互動, 可是當我們將 Display Mode 換成 View 時就無法互動了。
假如我們是需要寫入, 這個狀況可能沒有問題, 但是我們若想僅供我們的使用者檢視要怎麼辦呢? 檢視的資料可被修改。
因此我們可能需要麻煩點, 解法如下:
先將 Form Display Mode 修改為 Edit, 然後其他 DataCard Display Mode 手動修改為 View。
主要需要使用 OnSelect 或 Button 的 DataCard Display Mode 保留使用繼承。
最後將 Button 或需要使用 OnSelect 的物件 Display Mode 保留使用 Edit, 其他 Display Mode 手動修改為 View。
以上調整即可完成 Form 檢視下也能使用 Button 或 OnSelect 進行互動。
這麼做的原因為 Button 與 OnSelect 是 View 的時候, 它只能檢視, 而 Button 與 OnSelect 需要編輯才能互動。
可是預設 Form 下的所有物件又都有繼承關係, 故若 Form Display Mode 為 View 時 Button 與 OnSelect 也會保留 View。
因此假如我們的 Form 需要使用 Button 或 OnSelect 進行互動時, 我們需要將 Form Display Mode 調整至 Edit 並手動將底下的物件繼承關係進行解除。
結語
不開發不知道還有這種小小的眉眉角角, 因此使用文章來紀錄這件事以提醒自己下次遇到相同需求時可以更快處理。
以上內容為我個人的見解, 並感謝您的閱讀, 謝謝