2010-09-06 27 views
2

我有一個很大的域對象(僅限數據),它遵循嚴格的.xsd模式進行驗證。 我想讓用戶使用winforms編輯/創建這個巨大的對象,但我不是 確定最簡單的方法是什麼。 我想到了兩個想法: 第一個是將整個對象綁定到不同的控件。 第二個是以某種方式動態創建不同的控件使用xsd模式 (這是一個很酷,因爲我有大約60個不同的文本框與各種可能的下拉答案)。 有沒有什麼好的方法可以做到這一點? 謝謝,在winforms中填充一個巨大的對象

回答

1

您還可以看看PropertyGrid控件。它會自動生成樹狀結構的控件。 我用它來允許用戶編輯配置文件(例如)。 XSD.exe工具將幫助您創建PropertyGrid控件所需的對象結構。

0

沒有足夠的信息。認真 - 這不是一個編程問題,它首先是一個設計(如界面設計)的問題,很大程度上取決於具體情況。

示例:如果用戶填寫了現有的表單,則採用複製表單的方法可能是非常好的 - 尤其是如果紙質表單仍然打印出來並簽名或類似的東西。 Infopath(辦公室的一部分)在這個想法上被取消了。

然後,LOT取決於所涉及的工作流程。

我不認爲有一個有效的更好/更糟糕的純粹技術點忽略實際上是在形式上。

0

通過將控件添加到窗體控件集合中,您可以動態地將控件添加到WinForm。另外你有容器控件可以有自己的子控件。

因此,根據您需要的控件類型數量,您可以通過迭代架構來動態構建表單,根據需要添加控件,並最終將數據加載到控件中。加載數據可能是最難的部分,但有幾種方法可以解決這個問題。你可以使用數據綁定到一個匹配你的xsd模式的對象,你可以通過一個xpath到你的控件並遍歷它們來加載數據,等等。

我不認爲有一個標準的解決方案來做你以後的事情,但在WinForms中實現動態表單很容易,所以它應該是非常簡單的。