2011-09-05 25 views
1

我們有一個要求,從而使用戶可以定義一個全新的數據輸入窗體和準形成一個文檔。保存特設型號的表

新車型將被重新使用,所以它不是一次機型中的使用相關聯的許多文件。

所以很明顯,我們不能把它在每次代碼中有一種新的形式,我們不能創建一個新表,每次有一個新的模式。

這不會發生(每一天)。事實上,我認爲這是規則的例外是安全的。

但是,我們仍然需要照顧它,將數據保存到一個表,並表示在屏幕上的數據和數據錄入。

我想過乾脆連載的模型轉換成表和數據到另一個表。

有沒有人真正做到這一點,你願意分享你的解決方案?

編輯

這將是一個WPF的解決方案,而不是一個基於Web的一個。

+0

很多內容管理系統都管理好了,你可能想看看他們如何管理(例如Drupal)。 –

回答

0

對我來說,顯而易見的解決方案是使用XML - 這是這種情況下的理想工具。

  • 用戶可以使用您要編寫的一些UI工具定義表單。
  • 您解析該條目以生成一些結構化的XML(或XSD);你將決定
    • 字段名,
    • 數據類型,
    • 允許嵌套值/其它數據引用
    • 枚舉/ '下拉' 值等

從那裏這是使用它存儲定義文件&的問題。

  • 的XML文檔存儲在數據庫中有一個版本,日期,或用戶標識符
  • 呈現的數據錄入表格將會從您的數據庫
  • 檢索相應的XML文檔(最近?)代碼
  • 形式是動態生成(字段名,數據類型等是已知的)
  • 被輸入到該動態地生成的形式將驗證對您的結構化的XML的任何數據。
  • 所有數據錄入實例將與該XSD文檔的引用一起存儲。

這可確保您能夠正確識別針對其相關的「數據輸入表單」(表單定義XML)

在這種情況下的XML的好處每個「數據錄入實例」(收集值)是可擴展的 - 您可以將任何變體以一致的&兼容格式存儲到表單中 - 並且基於某些XML指令動態生成數據輸入表單非常簡單。

+0

是的,這看起來越來越像我需要實施的東西。 – griegs