2013-02-04 33 views
6

Tôi muốn thay đổi kích thước của khu vực có thể cuộn của dữ liệu có thể lưu.jquery - thay đổi dữ liệu sScrollY

$('#example').dataTable({"sScrollY": 100}); 
//some stuff.. 
$('#example').dataTable({"sScrollY":101}); //wrong: cannot reinitialize 
+0

Tôi đã tìm thấy giải pháp/giải pháp thay thế. http://stackoverflow.com/questions/7678345/datatables-change-height-of-table-not-working –

+0

Đợi bạn đang cố định lại kích thước dữ liệu sau khi một trang thay đổi kích thước? Đó không phải là những gì bạn yêu cầu trong mã của bạn ở trên, bạn có thể xác nhận đó là những gì bạn đang cố gắng làm. – Neo

+0

Tôi đang cố gắng thay đổi kích thước vùng có thể cuộn của một datatable, không phải là datatable chính nó (btw: Tôi tìm thấy câu trả lời). –

Trả lời

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

Điều này thay đổi chiều cao của bảng không phải của vùng có thể cuộn – Neo

+0

Phương pháp này thay đổi kích thước của khu vực có thể cuộn của datatable. Tất nhiên nó cũng có tác dụng phụ - nó thay đổi kích thước của toàn bộ bảng - nhưng giá trị đã cho sẽ là chiều cao của vùng có thể cuộn và chiều cao của toàn bộ bảng. –

+1

bạn nên sử dụng 400px thay vì chỉ 400 – Prozi

4

Để thay đổi Y Scroll sử dụng mã dưới đây,

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

nó không có hiệu lực –

+0

Tôi sử dụng điều này trên một số trang web, vui lòng đăng toàn bộ mã của bạn – Neo

+0

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

0

tôi phải kết hợp cả hai để giải quyết vấn đề của tôi. Trong trường hợp của tôi, tôi muốn phân trang vô tận, vấn đề là sau khi thay đổi kích thước cửa sổ, chiều cao của dataTables_scrollBody vẫn cố định, vì vậy tôi phải điều chỉnh oScroll để hiển thị dữ liệu bảng với thanh cuộn. Thiết lập chiều cao dataTables_scrollBody sẽ hoạt động khi thay đổi kích thước cửa sổ, nhưng sau khi bảng vẽ lại nó sẽ quay trở lại bằng cách sử dụng giá trị sScrollY cũ, và mã của Neo đã sửa lỗi này. :)

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

bạn nên sử dụng 400px thay vì chỉ 400 – Prozi

2

Nếu so với cùng kỳ có nhiều datatables bạn có thể truy cập mỗi bởi các wrapper:

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

Đối jquery.dataTables 1.10.x:

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

Đây là cách khuyến khích theo vào tài liệu Datatables. Theo cùng một tài liệu, việc sử dụng đối tượng cài đặt không được khuyến khích vì nó là nội bộ.

+1

Trong trường hợp của tôi, điều này không hoạt động. giải pháp của nagy.zsolt.hun đã làm. – adityawho

Các vấn đề liên quan