5
我正在使用数据表作为我的网上应用程序的网格。问题是,用户必须始终刷新页面才能从数据库获取当前数据,有没有办法可以自动完成此操作?因为有多个应用程序写入同一个表,并且webapp仅用于监视,但如果用户必须刷新页面才能获取当前数据,则它会胜出。 这里是我的初始化代码:如何在数据库中记录更改时不断更新数据表,一个websockets或长轮询实现
$('.{{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
]
});
是有办法的列表可以更新自己,每一次东西(UPDATE/INSERT/DELETE)发生到数据源? 我实现了一个循环丹尼建议,
var int=self.setInterval(function(){oTable.fnDraw();},1000);
但问题是,列表始终是一个有趣的状态,看到attatched图像
你能给我一个这个循环的例子吗?秒我不能使用记录计数,因为大部分更改是更新和更新不会更改记录计数。 – indago 2013-04-10 08:03:39
@indago Ya可能会创建一个新的表或文件,以便在最后一次插入/更新/删除操作完成后用作检查。 – Danny 2013-04-10 08:06:41
http://www.w3schools.com/jsref/met_win_setinterval.asp请记住,如果设置的时间间隔非常短,它可能会更快地更新,但如果您有很多用户,则会创建大量的http请求,可能也会很多,所以您需要根据用户流量和服务器统计信息来平衡服务器可以处理的时间间隔。 – Danny 2013-04-10 08:07:28