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