1

高科技大师,

如何在 jqGrid 中只扩展一行?

那就是当我单击子网格以展开一行时,所有当前展开的列都应该被折叠。我在子网格创建中添加了“expandOnLoad:false”属性。但不工作。

请给出正确的解决方案。

谢谢, 森蒂尔 B

4

2 回答 2

1

状态的文档expandOnLoad

expandOnLoad当设置为 true 时,使其在加载一组新数据时自动扩展所有行。

这并没有说明在展开另一行时折叠其他行(列?)。


但要回答您的问题 -是 Tony 的一个程序化解决方案,使用collapseSubGridRow

function(rowid, selected)
{
  var rowIds = $("#grid").getDataIDs();
   $.each(rowIds, function (index, rowId) {
           $("#grid").collapseSubGridRow(rowId); 
   });
}

您需要在subGridBeforeExpand事件中调用它。

于 2013-05-09T14:33:28.447 回答
0

它会在行单击时展开子网格:

onSelectRow: function (pRowId) {
                $(outterGrid).jqGrid('toggleSubGridRow', pRowId);
                var rowIds = $(outterGrid).getDataIDs();
                $.each(rowIds, function (index, rowId) {
                    if (pRowId != rowId) {
                        $(outterGrid).collapseSubGridRow(rowId);
                    }
                });
            }

,其中 outterGrid 是您单击的网格

于 2014-11-27T16:30:41.963 回答