2009-10-12 16 views
1

我想創建一個通用表單,以便它可以處理實體的創建/讀取/更新。創建實體時,它可能只包含所有字段的子集;當更新實體時,它可能包含不同的字段子集;在閱讀實體時,這些字段都不可編輯。任何在Flex中設計這種表單的經驗的人?提前致謝。如何在Flex中創建一個通用表格來處理實體CRUD?

回答

0

我對flex表單的質量感到沮喪,尤其是管理驗證,所以我寫了自己的表單控件。有時候它有點雜亂無章,所以它沒有準備好共享,但我會覆蓋這些想法:

  1. 分隔成佈局部分和數據部分,通過鍵匹配。兩者基本上都是包含我所需屬性的AS3 Objects/Arrays的組合。
  2. 描述佈局中所有可能的可見元素,需要的驗證器,視覺屬性,標籤等...佈局中的每個元素都是一個Array中的Object。主陣列通過VBox進行排序和顯示。任何嵌套數組都顯示在嵌套的HBox中(例如,對無線電選項有用)。
  3. 表單的數據部分是您可以設置初始值,「可編輯」屬性,「模型」屬性(用於組合框)的位置,類似的東西。數據結構是一個對象散列,其中鍵映射到佈局中的元素。如果數據定義中不存在佈局中的條目,則不會顯示。這使您可以輕鬆隱藏不想顯示的部分。

  4. 有錯誤部分,可以顯示驗證或服務器錯誤。

  5. 具有將所有數據收集到對象散列中的收集功能。

  6. 有一個驗證函數來控制驗證器何時被觸發。

  7. 不可編輯的字段顯示爲標籤。

  8. 基本上我已經實現了我自己的「Form」控件,並且佈局中的每個條目(當顯示時)都變成了一個自定義的「FormItem」控件,它將成爲佈局描述的任何類型。 (「文本」,「組合」,「標題」,...)

很難用視覺例子和代碼來描述,但這是基本的想法。你在正確的軌道上認爲你需要自己的控制。通用表單需要太多的手工處理,以及大量的冗餘代碼。

0

退房Rocket Framework ..你會喜歡它..

希望自動的WinForms?不只是CRUD,這有助於創建任何類型的winforms控件。 WinForm的Rocket Framework(使用.net c#4)提供了一套易於使用的通用庫,可以毫無疑問地爲.Net開發基於「基於表單」的應用程序/控制/自定義控件。

相關問題