使用jqGrid子网格展开另一行时折叠所有行
高科技大师 如何在jqGrid中仅展开一行 当我单击子网格展开一行时,所有当前展开的列都应该折叠。我在子网格创建中添加了“expandOnLoad:false”属性。但它不起作用 请给出正确的解决方案 谢谢, SENTHIL B国家文件:使用jqGrid子网格展开另一行时折叠所有行,jqgrid,Jqgrid,高科技大师 如何在jqGrid中仅展开一行 当我单击子网格展开一行时,所有当前展开的列都应该折叠。我在子网格创建中添加了“expandOnLoad:false”属性。但它不起作用 请给出正确的解决方案 谢谢, SENTHIL B国家文件: expandOnLoad设置为true时,使其在加载新数据集时自动展开所有行 这并没有说明在展开另一行时折叠其他行(列?) 但要回答您的问题,Tony使用的是一个编程解决方案collapseSubGridRow: function(rowid, select
expandOnLoad
设置为true时,使其在加载新数据集时自动展开所有行
这并没有说明在展开另一行时折叠其他行(列?)
但要回答您的问题,Tony使用的是一个编程解决方案
collapseSubGridRow
:
function(rowid, selected)
{
var rowIds = $("#grid").getDataIDs();
$.each(rowIds, function (index, rowId) {
$("#grid").collapseSubGridRow(rowId);
});
}
您需要在展开之前在子网格上调用此函数。状态文档:
expandOnLoad
设置为true时,使其在加载新数据集时自动展开所有行
这并没有说明在展开另一行时折叠其他行(列?)
但要回答您的问题,Tony使用的是一个编程解决方案collapseSubGridRow
:
function(rowid, selected)
{
var rowIds = $("#grid").getDataIDs();
$.each(rowIds, function (index, rowId) {
$("#grid").collapseSubGridRow(rowId);
});
}
您需要在subGridBeforeExpand
事件中调用此函数。并且它在单击行时执行子网格展开:
onSelectRow: function (pRowId) {
$(outterGrid).jqGrid('toggleSubGridRow', pRowId);
var rowIds = $(outterGrid).getDataIDs();
$.each(rowIds, function (index, rowId) {
if (pRowId != rowId) {
$(outterGrid).collapseSubGridRow(rowId);
}
});
}
,其中outterGrid是您正在单击的网格,它在单击行时展开子网格:
onSelectRow: function (pRowId) {
$(outterGrid).jqGrid('toggleSubGridRow', pRowId);
var rowIds = $(outterGrid).getDataIDs();
$.each(rowIds, function (index, rowId) {
if (pRowId != rowId) {
$(outterGrid).collapseSubGridRow(rowId);
}
});
}
,其中outterGrid是您正在单击的网格