我正在调整现有的 ASP.NET MVC 3 WebGrid 以显示更多数据。它目前显示一级数据,但我需要在网格中显示父子关系。这可能吗,还是我必须研究第三方控件,还是自己动手?
问问题
2795 次
1 回答
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> </td><td colspan=\"3\">" + data + "</td></tr>").insertAfter($tr);
}
},
});
根据父网格和子网格中的列数来处理 colspan。重要的是,WebGrid 的内置排序功能不适用于这种类型的父子网格显示。
当然,第三方控件始终是一种选择,但您还必须考虑成本,甚至他们也需要进行一些编码。
于 2011-09-06T06:19:11.337 回答