0

サブグリッドの行番号を 10 に固定していますが、recount が 10 未満の場合は、サブグリッドの高さを「auto」または「100%」に調整したいと考えています。

したがって、このサブグリッドのコードは次のとおりです。

//  SUBGRID FOURTH LEVEL
var subgrid_table_id = subgrid_id+"_d",
    pager_id = "p_"+subgrid_table_id; 
$("#"+subgrid_id).append("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>"); 
$("#"+subgrid_table_id).jqGrid({ 
    url:"sg31b.php?id="+row_id+"&clt="+clt, 
    datatype: "json", 
    idPrefix:"sgd_",
    colNames: ['Id','Article','Désignation','Marque','Equivalence'],
    colModel: [ 
        {name:'e.id',index:'e.id',hidden:true}, 
        {name:'a.code',index:'a.code', width:100}, 
        {name:'a.descr',index:'a.descr', width:450}, 
        {name:'k.code',index:'k.code', width:80}, 
        {name:'e.equiv',index:'e.equiv',width:100}
    ], 
    pager: pager_id, 
    sortname: 'a.code', 
    hiddengrid:true,
    scroll:true,
    height:230,
    rowNum:10,
    autowidth:true,
    caption:'4 - EQUIVALENCE ARTICLES',
    gridComplete:function(){
        sortDataCol(this);
        if($("#"+subgrid_id+"_d").jqGrid('getGridParam','records') < $("#"+subgrid_id+"_d").jqGrid('getGridParam','rowNum')){
            $("#"+subgrid_id+"_d").jqGrid('setGridHeight','100%');
        }else{
            $("#"+subgrid_id+"_d").jqGrid('setGridParam',[{npage:1}]).jqGrid('setGridHeight',230);
        }
    }
}); 
$("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{search:false,add:false,edit:false,del:false});
$("#"+subgrid_table_id).jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false});
fullInputCss();

およびフィルタリングされた行が 10 行未満の場合の結果のスナップショット: ここに画像の説明を入力

検索フィールドで Backspace を押してさらに行を取得すると、Firebug に request の痕跡が表示されないため、検索が起動しないようです。 ここに画像の説明を入力

gridcomplete で追加された「setGridHeight」行を削除すると、すべて正常に実行されます。コーディングと jqGrid の実行方法を理解する上で、もう一度間違っていると思います。この問題を解決する方法を教えてください。よろしくお願いします。良い1日を。ジヘル

4

1 に答える 1