Tôi đang sử dụng datatables làm lưới của tôi trên webapp. Vấn đề là, người dùng phải làm mới trang luôn để lấy dữ liệu hiện tại từ cơ sở dữ liệu, có cách nào có thể thực hiện tự động không? bởi vì một số ứng dụng ghi vào cùng một bảng và webapp chỉ để theo dõi, nhưng nó đánh bại mục đích nếu người dùng phải làm mới trang để lấy dữ liệu hiện tại. đây là mã khởi tạo của tôi:cách cập nhật liên tục các datatables khi hồ sơ thay đổi trong cơ sở dữ liệu, một websockets hoặc thực hiện bỏ phiếu dài
$('.{{datatable['class']}}').dataTable({
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sSwfPath": "includes/swf/copy_csv_xls_pdf.swf",
"aButtons": [
{
"sExtends":"copy",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends":"csv",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends":"xls",
"mColumns":[{{datatable['flds']}}]
},
{
"sExtends": "pdf",
"mColumns":[{{datatable['flds']}}],
"sPdfOrientation": "landscape",
"sPdfMessage": "{{datatable['title']}}"
}
]
},
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "{{datatable['source']}}",
"aoColumns": [
{% for column in 0..datatable['columns']-2 %}
null,
{% endfor %}
null
]
});
là có một cách danh sách có thể được cập nhật tự mỗi lần bất cứ điều gì (UPDATE/INSERT/DELETE) xảy ra với nguồn dữ liệu? tôi đã thực hiện một vòng lặp như Danny đề nghị,
var int=self.setInterval(function(){oTable.fnDraw();},1000);
nhưng vấn đề là danh sách luôn là một trạng thái buồn cười, nhìn thấy hình ảnh attatched
bạn có thể cho tôi ví dụ về vòng lặp này không? thứ hai tôi không thể sử dụng số lượng bản ghi vì hầu hết các thay đổi là bản cập nhật và cập nhật không thay đổi số lượng bản ghi. – indago
@indago Ya có thể tạo một bảng hoặc tệp mới chỉ để lưu trữ khi lần chèn/cập nhật/xóa cuối cùng được thực hiện để sử dụng làm kiểm tra. – Danny
http://www.w3schools.com/jsref/met_win_setinterval.asp Chỉ cần nhớ rằng nếu bạn đặt khoảng thời gian thực sự thấp, nó có thể cập nhật nhanh hơn nhưng nếu bạn có nhiều người dùng trên đó sẽ tạo nhiều yêu cầu http, có thể quá nhiều vì vậy bạn cần phải cân bằng khoảng thời gian để những gì máy chủ của bạn có thể xử lý dựa trên lưu lượng người dùng và số liệu thống kê máy chủ vv. – Danny