32

jQuery と jqGrid を使用して AJAX インターフェイスを開発しました。

jqGridテーブルから水平スクロールバーを削除するにはどうすればよいですか?

http://dskarataev.ru/jqgrid.png

を設定autowidth: trueすると、テーブルの幅 = 列の幅の合計が得られますが、テーブルの幅 = 関数によって返される id を持つ親要素の幅が必要ですgetSelectedTabHref()

だから私は機能を作ります:

$(window).bind('resize', function() {
  $('#tasks').setGridWidth($(getSelectedTabHref()).width());
  $('#tasks').setGridHeight($(window).height()-190);
}).trigger('resize');

jqGridテーブルを作成する方法は次のとおりです。

$('#tasks').jqGrid({
  datatype: 'local',
  colNames:[labels['tasksNum'],labels['tasksAdded']+"/"+labels['tasksAccepted'],labels['tasksOperator'],labels['tasksClient'],labels['tasksManager'],labels['tasksDesc']],
  colModel :[
    {name:'taskId', index:'taskId', width:1, align:'right'},
    {name:'taskAdded', index:'taskAdded', width:3},
    {name:'taskOperator', index:'taskOperator', width:4},
    {name:'taskClient', index:'taskClient', width:7},
    {name:'taskManager', index:'taskManager', width:4},
    {name:'taskDesc', index:'taskDesc', width:8}]
});

4

13 に答える 13

76

水平スクロールバーがまったく必要なかったので、ui.grid.cssを調整しました。これは私がしました:

.ui-jqgrid .ui-jqgrid-bdiv {
  position: relative; 
  margin: 0em; 
  padding:0; 
  /*overflow: auto;*/ 
  overflow-x:hidden; 
  overflow-y:auto; 
  text-align:left;
}

コメントはそれがどうだったかということでした。私はoverflow-xを使用して水平スクロールバーを非表示にしましたが、今ではすべて問題ありません。

于 2011-02-08T14:59:29.503 に答える
5

jqGrid がグリッド幅を正しく計算しない場合があります。cellLayoutパラメータを増やしてみることができます ( http://www.trirand.com/jqgridwiki/doku.php?id=wiki:optionsを参照)。これは、jqGrid から一部の CSS を変更する場合に必要になることがあります。

他のいくつかの状況では、関数に関して幅を修正できます。fixGridWidthまたは、 jQueryUI Dialog 内の jqGrid で setGridWidth を正しく呼び出すfixGridSizeで説明し た幅を修正できます。内で使用する必要があることを忘れないでください。loadComplete

于 2010-06-22T08:11:14.640 に答える
4

widthグリッドに明示的に設定して使用する

autowidth: false,
shrinkToFit: true
于 2011-03-09T21:18:20.343 に答える
1

少し遅れますが、誰かに役立つかもしれません

テーブルの高さは、末尾に「px」を付けずに数値でのみ設定する必要があります

于 2012-02-07T14:08:56.673 に答える
1

setGridWidth は、指定された新しい幅に合わせてグリッドのサイズを確実に変更しますが、必ず autowidth=true で使用してください。setGridWidth は、IE 7 などで問題が発生する可能性があります。

ここで説明されているいくつかの実用的なソリューション (まだ解決策が見つからない場合)、

ブラウザのサイズが変更されたときにjqGridのサイズを変更しますか?

http://www.trirand.com/blog/?page_id=393/discussion/browser-resize-how-to-resize-jqgrid/

- - 年 - -

いくつかのオプションを試すことができます。

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:optionsから

"autowidth" : true    

また

"shrinkToFit": false

それ以外の場合は、jqgrid コードを投稿して、分析させてください。

于 2010-06-22T07:59:14.337 に答える
1

その単純な、jqgrid での使用shrinkToFit: false

于 2014-01-22T12:18:22.630 に答える
0

jqgrid API メソッド setGridHeight を使用しました。IE 8 でも問題なく動作します。

var gr = jq('#grid');
gr.setGridHeight(350,true);

この行を「loadComplete」関数呼び出しの下に置きます。

于 2011-03-10T21:52:10.223 に答える
0

AppearanceSettings ShrinkToFit="False"とを に適用AutoWidth="true"しますjqGrid

于 2012-06-01T06:08:44.993 に答える