0

空のサブグリッドを非表示にするにはどうすればよいですか? 私はこの解決策これを試しましたが、うまくいきませんでした。

4

2 に答える 2

0

これとオレグの答えに基づいて、問題を解決します。私のテーブルでは、すべての行が展開されているため、メイン テーブルのコードは次のようになります。

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();
        }
}

もっとシンプルでエレガントなソリューションが存在するかもしれませんが、私にとっては期待どおりに機能します。

于 2011-12-23T10:43:40.883 に答える
0

古い答えを見てください。それはまさにあなたが必要としているもののようです。

于 2011-12-22T11:18:55.387 に答える