2012-05-15 32 views
12

Tôi đang sử dụng jquery datatables trong ứng dụng của mình. Tôi gặp sự cố với số pagination của mình, nó đang đặt lại khi tôi sử dụng this.table.dataTable().fnDraw().giữ trạng thái phân trang trên fnDraw()

Cứ sau 5 giây, các cuộc gọi có thể định giá của tôi fnDraw() trong khi cập nhật bảng. Khi this.table.dataTable().fnDraw() được gọi là trang đầu tiên được hiển thị, ngay cả khi người dùng ở trang 2 hoặc trang khác.

Có cách nào để giữ trạng thái phân trang ngay cả sau this.table.dataTable().fnDraw() hay không.

Trả lời

18

On http://datatables.net/ref lời giải thích cho fnDraw nói:

Parameter: fnDraw 
Type:  function 
Inputs:  {bool} [default=true]: Re-filter and resort 
      (if enabled) the table before the draw. 

Vì vậy, chỉ cần cố gắng this.table.dataTable().fnDraw(false) và nó làm việc. Ở lại trên cùng một trang và cũng sắp xếp vẫn như cũ.

+0

tôi đã cố gắng giải pháp của bạn và có khả năng để có được những trang mà tôi đã được trước khi fnDraw, nhưng có một vấn đề ít cho dữ liệu không được hiển thị (tức là vài hàng bị thiếu trong bảng). – user1181892

+0

Làm cách nào để bạn truy xuất nội dung cho bảng? Tất cả khi tải trang hoặc bạn có tìm nạp chúng bằng cách xử lý trên máy chủ không? – DKSan

+0

Tất cả khi tải trang. – user1181892

5

Hãy nhìn vào plugin này mà làm những gì bạn muốn: http://datatables.net/plug-ins/api#fnStandingRedraw

+1

Hoàn hảo! Giải quyết vấn đề của tôi - 'fnDraw (false)' (trong câu trả lời khác) là có vấn đề, bởi vì bạn bị mất trạng thái bộ lọc. – Eric

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