好的,我会解释一下。我需要动态创建MVC中的数据网格(可能是视图上的多个数据网格),具体取决于正在读入的XML文件。文件循环通过,可能包含多个网格数据,标题和行在文件中设置。问题是我的应用程序在读取之前不会知道XML文件的内容,因此我无法将其应用于IEnumerable模型。我的想法是使它成为通用的,以便它可以读入我传递给它的任何XML文件,如下所示设置并将数据放入可排序的数据网格中。当前的控制措施可以实现这一点吗?我已经尝试过Teleriks MVC网格,虽然我可以将数据读入网格,但我无法对数据进行排序,因为此功能仅在传递DTO时才有效。我有一种感觉,我正在寻找的是无法做到的(除非我写一个自定义的HTMLHelper或其他东西),但是我猜是没有害处
我的xml将如此
<xml>
<REPORT>
<HEADERS>
<HEAD>Col1</HEAD>
<HEAD>Col2</HEAD>
</HEADERS>
<ROWS>
<ROW>Data1</ROW>
<ROW>Data2</ROW>
</ROWS>
</REPORT>
</xml>
由于
答案 0 :(得分:1)
我没有看到那里有你需要的助手扩展。
有一些很好用的通用集合(例如Telerik或MVCContrib's)。您提供的示例无法转换为可由这些处理的集合:行需要具有可与标题元素匹配的单元格。
<xml>
<REPORT>
<HEADERS>
<HEAD>Col1</HEAD>
<HEAD>Col2</HEAD>
</HEADERS>
<ROWS>
<ROW><CELL>Data1</CELL><CELL>Data2</CELL></ROW>
<ROW><CELL>Data2</CELL><CELL>Data4</CELL></ROW>
</ROWS>
</REPORT>
</xml>
如果可以将XML反序列化为通用集合,则很容易填充网格。
希望这有帮助。
答案 1 :(得分:1)
我会研究JQuery Grid。您必须将数据转换为它想要的格式,但它为您提供了很多灵活性和免费的UI。但是,您仍然需要编写排序代码。
答案 2 :(得分:1)
我建议使用jquery网格。然后编写一个类来解析xml并在视图中生成网格javascript,并编写第二个动作来解析xml(再次)并生成json结果。 MVCCrud可能有助于在那里有一个通用的jquery网格,但它可以在IQueryable列表中运行,因此需要进行调整。