jqGrid 如果子网格为空,如何隐藏它?

发布于 2024-12-22 11:41:35 字数 284 浏览 1 评论 0原文

如果子网格为空,如何隐藏它? 我尝试了这个解决方案和< a href="https://stackoverflow.com/questions/1019155/how-to-display-information-in-jqgrid-that-there-are-not-any-data">这个但没有运气。

How can i hide a subgrid if it empty?
I tried this solution and this but no luck.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

李白 2024-12-29 11:41:35

查看旧答案。这似乎正是您所需要的。

Look at the old answer. It seems be exactly what you need.

大海や 2024-12-29 11:41:35

基于和奥列格的回答解决了我的问题。
在我的表中,所有行都展开,因此主表的代码如下所示:

gridComplete: function(){
   var table_name = 'table_18';
   var myGrid = $('#'+table_name);
   var rowIds = myGrid.getDataIDs();
   $.each(rowIds, function (index, rowId){
          myGrid.expandSubGridRow(rowId);
   });

   var subGridCells = $("td.sgexpanded",myGrid[0]);
   $.each(subGridCells,function(i,value){
          $(value).unbind('click').html('');
   });
}

在此代码中,我删除了展开/折叠子网格的单击操作。所以它们总是打开的,不可能折叠它们。

基于我删除空的子网格。

loadComplete: function(){//in subgrid 
        var table_value = $('#'+subgrid_table_id).getGridParam('records');
        if(table_value === 0){
            $('#'+subgrid_id).parent().parent().remove();
        }
}

也许存在更简单和优雅的解决方案,但对我来说,它的工作原理符合我的预期。

Based on this and Oleg's answer i resolve my problem.
In my table all rows are expanded so code looks like this for main table:

gridComplete: function(){
   var table_name = 'table_18';
   var myGrid = $('#'+table_name);
   var rowIds = myGrid.getDataIDs();
   $.each(rowIds, function (index, rowId){
          myGrid.expandSubGridRow(rowId);
   });

   var subGridCells = $("td.sgexpanded",myGrid[0]);
   $.each(subGridCells,function(i,value){
          $(value).unbind('click').html('');
   });
}

In this code i removed click action for expand/collapse subgrids. So they are always open and there is no posibility to collapse them.

Based on this i remove empty subgrids.

loadComplete: function(){//in subgrid 
        var table_value = $('#'+subgrid_table_id).getGridParam('records');
        if(table_value === 0){
            $('#'+subgrid_id).parent().parent().remove();
        }
}

Maybe exist more simple and elegant solution, but for me it's works as i expected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文