データテーブルのスクロール可能領域のサイズを変更したいのですが。
$('#example').dataTable({"sScrollY": 100});
//some stuff..
$('#example').dataTable({"sScrollY":101}); //wrong: cannot reinitialize
データテーブルのスクロール可能領域のサイズを変更したいのですが。
$('#example').dataTable({"sScrollY": 100});
//some stuff..
$('#example').dataTable({"sScrollY":101}); //wrong: cannot reinitialize
$('.dataTables_scrollBody').css('height', 400);
Y スクロールを変更するには、以下のコードを使用します。
var objDataTable = $('#example').dataTable({"sScrollY" : 100});
objDataTable.fnSettings().oScroll.sY = 101;
objDataTable.fnDraw();
yoy に複数のデータテーブルがある場合は、ラッパーによってそれぞれにアクセスできます。
$('#example').dataTable({'sScrollY': 100});
//some stuff..
objDataTable.fnSettings().oScroll.sY = '225px';
$('#example_wrapper').children('.dataTables_scroll').children('.dataTables_scrollBody').css('height', '225px');
jquery.dataTables 1.10.x の場合:
$('div.dataTables_scrollBody').height( 400 );
これは、Datatables のドキュメントに従って推奨される方法です。同じドキュメントによると、設定オブジェクトの使用は内部的なものであるため推奨されていません。
私の問題を解決するには、両方を組み合わせる必要がありました。私の場合、無限のページネーションを行いたいのですが、問題は、ウィンドウのサイズ変更後、dataTables_scrollBody の高さが固定されたままであるため、スクロール バーでテーブル データを表示するように oScroll を調整する必要があることです。ウィンドウ サイズが変更された場合、dataTables_scrollBody の高さを設定すると機能しますが、テーブルの再描画後は古い sScrollY 値を使用してロールバックし、Neo のコードはこれを修正しました。:)
objDataTable.fnSettings().oScroll.sY = 101;
objDataTable.fnDraw();
$('.dataTables_scrollBody').css('height', 400);