Asp.net mvc 3 ASP.NET MVC 3 WebGrid控件是否支持分层数据?
我正在修改现有的ASP.NET MVC 3 WebGrid以显示更多数据。它当前显示一级数据,但我需要在网格中显示父子关系。这是可能的,还是我必须寻找第三方控件,或者自己使用?如果您想让webgrid自己做这件事,那么答案是否定的,因为它不可能直接实现。简单的嵌套网格,您可以实现如下 要将整个网格放在另一个网格中,可以使用jQuery、AJAX和多视图来实现这一点。在展开任何行时,使用ajax调用另一个操作,该操作将呈现子网格而不是任何其他html。使用生成的html在父网格表中插入新行。这句话的意思是Asp.net mvc 3 ASP.NET MVC 3 WebGrid控件是否支持分层数据?,asp.net-mvc-3,hierarchical-data,webgrid,Asp.net Mvc 3,Hierarchical Data,Webgrid,我正在修改现有的ASP.NET MVC 3 WebGrid以显示更多数据。它当前显示一级数据,但我需要在网格中显示父子关系。这是可能的,还是我必须寻找第三方控件,或者自己使用?如果您想让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> </td><td colspan=\"3\">" + data + "</td></tr>").insertAfter($tr);
}
},
});
$.ajax({
url:childGridUrlString,
键入:“post”,
async:true,
超时时间:10*1000,
成功:函数(数据、文本状态、jqXHR){
如果(!data.Status){
var$tr=$obj.closest(“tr”、$(“#parentgrid”);
变量$newTr=“”+数据+”;
$(“”+数据+“”)。插入($tr);
}
},
});
根据父网格和子网格中的列数来处理colspans。重要的是,WebGrid的内置排序功能不能与这种父子网格显示一起正常工作
当然,第三方控件总是一种选择,但是你也必须考虑成本,甚至他们也会有一些代码要做。