高科技大师,
如何在 jqGrid 中只扩展一行?
那就是当我单击子网格以展开一行时,所有当前展开的列都应该被折叠。我在子网格创建中添加了“expandOnLoad:false”属性。但不工作。
请给出正确的解决方案。
谢谢, 森蒂尔 B
高科技大师,
如何在 jqGrid 中只扩展一行?
那就是当我单击子网格以展开一行时,所有当前展开的列都应该被折叠。我在子网格创建中添加了“expandOnLoad:false”属性。但不工作。
请给出正确的解决方案。
谢谢, 森蒂尔 B
状态的文档expandOnLoad
:
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 是您单击的网格