2013-02-04 17 views
6

データテーブルのスクロール可能な領域のサイズを変更したいと思います。jQuery - データテーブルの変更sScrollY

私は私の問題を解決するために、両方を組み合わせていた
$('#example').dataTable({"sScrollY": 100}); 
//some stuff.. 
$('#example').dataTable({"sScrollY":101}); //wrong: cannot reinitialize 
+0

解決策/回避策が見つかりました。 http://stackoverflow.com/questions/7678345/datatables-change-height-of-table-not-working –

+0

ページのサイズ変更後にデータテーブルのサイズを変更しようとしていますか?上記のコードで頼んだことではありませんが、あなたがしようとしていることを確認することができます。 – Neo

+0

データテーブルのスクロール可能領域のサイズを変更しようとしていますが、データテーブル自身ではありません(btw:答えを見つけました)。 –

答えて

6
$('.dataTables_scrollBody').css('height', 400); 
+0

これはスクロール可能領域以外のテーブルの高さを変更します – Neo

+0

このメソッドは変更しますデータテーブルのスクロール可能領域のサイズもちろんそれは副作用もあります - それはテーブル全体のサイズを変更しますが、与えられた値はスクロール可能領域の高さとテーブル全体の高さになります。 –

+1

あなたはちょうど400の代わりに400pxを使うべきです – Prozi

4

Yスクロールは以下のコードを使用して変更するには、

var objDataTable = $('#example').dataTable({"sScrollY" : 100}); 
objDataTable.fnSettings().oScroll.sY = 101; 
objDataTable.fnDraw(); 
+0

これは効果がありません –

+0

私はいくつかのサイトでこれを使用しています。コード全体を投稿してください – Neo

+0

http://paste.ubuntu.com/1616089/ –

0

。私の場合、無限のページネーションを行いたいのですが、問題はウィンドウのサイズ変更後、dataTables_scrollBodyの高さが固定されているので、スクロールバーでテーブルデータを表示するようにoScrollを調整する必要があります。 dataTables_scrollBodyの高さを設定すると、ウィンドウのサイズが変更されたときに機能しますが、テーブルの再描画後は古いsScrollY値を使用してロールバックされ、Neoのコードでこれが修正されます。 :)

objDataTable.fnSettings().oScroll.sY = 101; 
objDataTable.fnDraw(); 
$('.dataTables_scrollBody').css('height', 400); 
+0

あなたはちょうど400の代わりに400pxを使うべきです – Prozi

2

前年比は、ラッパーにより、それぞれにアクセスすることができ、いくつかのDataTableお持ちの場合:jquery.dataTables 1.10.xのために

$('#example').dataTable({'sScrollY': 100}); 
//some stuff.. 
objDataTable.fnSettings().oScroll.sY = '225px'; 
$('#example_wrapper').children('.dataTables_scroll').children('.dataTables_scrollBody').css('height', '225px'); 
1

$('div.dataTables_scrollBody').height(400); 

をこれは従っ推奨される方法ですDatatablesのドキュメントを参照してください。同じドキュメンテーションによると、設定オブジェクトの使用は、内部的なものとして使用することをお勧めしません。

+1

私の場合、これは動作しませんでした。 nagy.zsolt.hunの解決策がありました。 – adityawho

関連する問題