我正在使用free-jqgrid 4.13.1。在我的网格中,每行下面都有子网格,所以我有一个嵌套行的场景。但是,网格顶部的过滤器仅适用于主网格并忽略子网格。如何使网格顶部的过滤器也适用于所有子网格?我假设我需要对postData
做一些事情,但我还是jqGrid的新手。
我知道我可以将过滤器工具栏添加到子网格中,但从UX的角度来看,这不是一个可接受的解决方案。用户应该能够从单个(主)过滤器工具栏中搜索主网格和所有子网格的所有字段。
主网格和子网格的colModel属性相同,显示如下。
var mainGridPrefix = "s_";
colModel: [
{ name: 'active', index: 'active' }
, { name: 'lastContact', index: 'lastContact', sorttype: 'date', formatter: 'date', formatoptions: { newformat: "m/d/Y" } }
, { name: 'nextContact', index: 'nextContact', sorttype: 'date', formatter: 'date', formatoptions: { newformat: "m/d/Y" } }
]
, idPrefix: mainGridPrefix
, subGrid: true
, subGridRowExpanded: function (subgridDivId, rowId) {
var $subgrid = $("<table id='" + subgridDivId + "_t'></table>"),
pureRowId = $.jgrid.stripPref(mainGridPrefix, rowId),
colModel = $(this).jqGrid("getGridParam", "colModel");
$subgrid.appendTo("#" + $.jgrid.jqID(subgridDivId));
$subgrid.jqGrid({
datatype: "local"
, data: $(this).jqGrid("getLocalRow", pureRowId).subgridData
, colModel: [
{ name: 'active', index: 'active' }
, { name: 'lastContact', index: 'lastContact', sorttype: 'date', formatter: 'date', formatoptions: { newformat: "m/d/Y" } }
, { name: 'nextContact', index: 'nextContact', sorttype: 'date', formatter: 'date', formatoptions: { newformat: "m/d/Y" } }
]
, height: "100%"
, rowNum: 10000
, autoencode: true
, gridview: true
, idPrefix: rowId + "_"
, width: $("#tableId").width() - 25
});
$subgrid.closest("div.ui-jqgrid-view").children("div.ui-jqgrid-hdiv").hide();
}