2009-11-12 53 views
1

好吧,我會解釋。我需要根據正在讀入的XML文件,在MVC中動態地創建一個數據網格(視圖中可能包含多個數據網格)。文件循環遍歷並可能包含多個網格數據,頭文件和行設置在文件中。問題是我的應用程序在閱讀之前不會知道XML文件的內容,所以我不能將它應用於IEnumerable模型。這個想法是使它成爲通用的,以便它可以讀取我傳遞給它的任何XML文件,如下所示,並將數據放入可排序的數據網格中。這是否完全可以通過當前的控制?我嘗試過Teleriks MVC網格,雖然我可以將數據讀入網格,但是我無法對數據進行排序,因爲此功能只有在通過DTO時纔有效。我有一種感覺就是我正在尋找能不能做到(除非我寫一個自定義的HtmlHelper或東西),但沒有傷害在問我想MVC - 沒有模型的Datagrid綁定

我將XML作爲這樣

<xml> 
    <REPORT> 
    <HEADERS> 
     <HEAD>Col1</HEAD>   
     <HEAD>Col2</HEAD> 
    </HEADERS>   
    <ROWS> 
     <ROW>Data1</ROW>   
     <ROW>Data2</ROW> 
    </ROWS> 
    </REPORT> 
</xml> 

謝謝

回答

1

我會建議使用jQuery網格。然後編寫一個類來解析xml並在視圖中生成網格javascript,然後再解析xml(再次)並生成json結果。 MVCCrud可能有助於這個想法,那裏有一個通用的jQuery網格,但它可以在IQueryable列表中工作,因此需要進行修改。

+0

謝謝你們,今天早上我會用這個做一個測試項目,這裏的教程似乎是我要找的內容http://blogs.teamb.com/craigstuntz/2009/04/15/ 38212 / – Israfel 2009-11-13 09:15:17

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可以反序列化爲泛型集合,則很容易填充網格。

希望這會有所幫助。

+0

感謝您的回覆,我目前正在編寫我自己的排序/過濾網格,這項工作是通常的工作,我的手與我如何接收報告相關。 – Israfel 2009-11-12 15:13:10

1

我想看看JQuery Grid。您必須將數據轉換爲所需的格式,但它爲您提供了很多靈活性和免費的好用戶界面。不過,您仍然需要編寫排序代碼。