前面一節介紹了表單設計器的背景和最終的大概樣式,本節主要介紹表單設計器的需求及功能設計。
在講需求之前先明確幾個常用的概念:
主表或者卡片表——具有多行多列的一個區域的控件塊,如下圖所示。
明細表——就是常用的表格類型的控件塊,表頭信息就確立了該列的數據類型,如下圖所示。
卡片式的表:指的是一個表單模板只包括一個主表;
主子表:指的是一個表單模板包含一個主表、一個明細表;
多子表:指的是一個表單模板包含一個主表、多個明細表;
嵌套多子表:指的是一個表單模板嵌套了多個主子表或者多個多子表;
表單設計器的總體要求:
- 能夠支持復雜的單據樣式(主表、主子表、多子表、嵌套多子表);
- 能夠支持所見即所得的圖形化表單設計方式。用戶設計出來的表單模板是什么樣式的,那么生成加載出來也就應該是什么樣式的;
- 采用拖拽式的方式來拖動各種表單模板的控件,讓用戶體驗更好、更方便;
- 表單常用控件的歸納及設計;
- 各種控件可以方便的調整顯示的順序,交換位置,交換區域等;
- 各種控件的所有屬性能夠比較方便的設置、修改。包括:控件名稱、默認值、取值范圍、數據源、控件之間的數據聯動、控件的隱藏與否等等;
- 主表區域的控件列數支持動態調整;
- 明細表格的列頭支持分組列頭,以及列之間交換位置;
- 明細表格的常用數字、金額等數據列支持不同的匯總方式(如:求和、求平均、最大最小值、計數等);
- 開放表單模板的一些常用易變動的數據接口,方便某些特殊表單的特殊處理;
- 表單項、表單區域、表單模板的刪除控制;
- 表單控件數據源、取數公式的歸納;
初步總結了以上12個設計需求,按照需求的總體要求做出來的表單設計器是可以滿足我們的實際業務需求的。
下一節我介紹設計詳細過程。