2011-08-26 63 views
0

我正在修改現有的ASP.NET MVC 3 WebGrid以顯示更多數據。它目前顯示一個級別的數據,但我需要在網格中顯示父子關係。這是可能的,還是我將不得不尋找第三方控制,或者推出我自己的?ASP.NET MVC 3 WebGrid控件是否支持分層數據?

回答

1

如果你想webgrid自己做,那麼答案是不可能的直接。簡單的嵌套網格,你可以實現這樣的... Razor Nested WebGrid

要在整個網格內另一個網格,你可以使用jQuery,AJAX多個視圖來實現這一點。在任何行的擴展調用另一個動作與AJAX將呈現子網格,而不是任何其他的HTML。使用生成的html插入父網格表中的新行。這些線上的東西...

 $.ajax({ 
     url: childGridUrlString, 
     type: 'post', 
     async: true, 
     timeout: 10 * 1000, 
     success: function (data, textStatus, jqXHR) { 
      if (!data.Status) { 
       var $tr = $obj.closest("tr", $("#parentgrid")); 
       var $newTr = "<tr><td colspan=\"4\">" + data + "</td></tr>"; 
       $("<tr><td>&nbsp;</td><td colspan=\"3\">" + data + "</td></tr>").insertAfter($tr); 
      } 
     }, 
    }); 

照顧你在父母和子網格中的列數。重要的是,在WebGrid的內置排序功能中,對於此類父級子網格顯示無法正常工作。

當然,第三方控制始終是一種選擇,但您必須考慮成本,甚至他們也會有一些編碼要做。