2010-11-03 85 views
1

我需要为C#3.5/winforms应用程序设计一个.Net表单。此表单将使用户能够手动输入数据,并单击此表单上的保存按钮,将生成一个xml模式如下所示:将xml屏幕映射到表格

<Request ID="1" Type="testType" requestedBy="admin" Date="20081128 19:30:00" date="20100122 00:00:00"> 
<List> 
<Data name="A" date="04/27/2009" region="NA" /> 
    <Data name="B" userName="johnc" /> 
    <Data name="C" date="04/27/2009" region="TR" /> 
    <Data name="D" date="04/27/2009" region="NA" /> 
    <Data name="E" file="C:\Test\ABC.txt" outFile="C:\Test\ABCOut.txt" businessDate="04/27/2009" userName="testuser1"/> 
    <Data name="F" file="C:\Test\EFG.txt" outFile="C:\Test\EFGOut.txt" businessDate="05/21/2009" userName="testuser2"/> 
</List> 
</Request> 

此表单的设计应该非常友好和直观,因为它也会被非IT用户使用。

这个XML有不同的数据节点,每个节点都有不同的属性集。 具有相同数量属性并具有不同值的数据节点可以重复[例如:具有名称“E”和“F”的数据节点]

想想什么才是拥有此表单设计的最佳方式?

我应该在winform的顶部放一个下拉列表,它会显示不同数据节点名称列表[A,B.C ...]? 然后更改此下拉列表中的项目将动态更改下面的表单。 例如:在ddList中选择C将显示日期和区域的文本框...并且同样... 或者如何在这种情况下使用gridview?

请建议。

感谢您的阅读。

+1

你也很难做什么合理与该XML。这已经完成了,它被称为WPF。 – 2010-11-03 15:37:27

回答

0

无论您是否使用WPF的WinForms,都应该很容易将DataLayer转换为xml。

  • 获取xml(xsd one)的架构并使用Visual Studio xsd工具将其转换为C#类;
  • 然后,您可以围绕DataLayer设计GUI,并且当您想要保存(保存)时,您可以使用XmlSerializer来为您工作。
  • 这样,你就对着干数据层和不担心持久性,因为它会根据你的合同/请求XML模式