使用jqGrid子网格展开另一行时折叠所有行

时间:2013-05-09 13:53:23

标签: jqgrid

Hi Tech Gurus,

如何在jqGrid中只扩展一行?

这是当我单击子网格以展开行时,应折叠所有当前展开的列。我在子网格创建中添加了“expandOnLoad:false”属性。但是没有用。

请给出正确的解决方案。

谢谢, SENTHIL B

2 个答案:

答案 0 :(得分:1)

expandOnLoad州的文档:

  设置为true时

expandOnLoad使其在加载新数据集时自动扩展所有行。

当扩展另一行时,这没有说明折叠其他行(列?)。


但要回答你的问题 - here是Tony使用collapseSubGridRow的程序化解决方案:

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

您需要在subGridBeforeExpand事件中调用此内容。

答案 1 :(得分:0)

它会在行点击上展开子网格:

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

,其中outterGrid是您点击的网格