如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里
Bootstrap Table实现定时刷新数据
推荐第二种方法
1、毁掉表格,再查询数据后append,如果你查大量的数据(例如:查询很多渠道的信息),而获取服务器数据又太慢,你就会看到表格在一行一行的增加
setInterval(function() { queryAll();
}, 30000);
-
先定义一个函数,里面放入查询的方法updateRealTimeData和你所自定义使用的方法
function queryAll() { updateRealTimeData();
.
.
.
.
}
function updateRealTimeData() { if(errorFlag || appid == -1) return; $("#realTimeTable").bootstrapTable('removeAll'); $.ajax({
data: { .
.
.
.
.
},
type: "post", url: *******,
async: true, timeout:30000,
success: function(msg) { if(msg.code == '1') { showTableData(msg,……);
}
}
});
}
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
function showTableData(msg,……) { tableData = []; for(var i = 0; i < json.length; i++) {
tableData.push({ date: json[i].getDate,
.
.
.
.
}) tableData.reverse(); $("#realTimeTable").bootstrapTable('append', tableData);
}
}
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
2、使用updateRow方法
-
首先,得存在表格,里面有数据,才能更新行,否则没作用。此方法不会像上面的方法表格消失再增加,这个是整体不变,里面的数据会自动更新
-
定时器,和上面一样,多长时间执行一次,自己定义,此处是30S
setInterval(function() { queryAll(); for (var j = 0; j < 请求的数据的总条数(也就等于表格的行数); j++) {
changeAllChannelRealTime(j, .....);
} }, 30000);
function changeAllChannelRealTime(j, .....) {
$.ajax({
data: { .
.
.
.
.
},
type: "post", url: *******,
async: true, timeout:30000,
success: function(msg) { if (msg.code == '1') {
changeData(j, msg, .....);
}
},
error: function () { msgToast.error("查询数据出错");
}
});
}
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
function changeData(i,msg,......){ $('#realTime_Table').bootstrapTable('updateRow', { index: i,
row: { date: msg.*
.
.
.
.
}
});
}
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
大象~ 大象~ 你的鼻子怎么那么长~~
其他相关:
蓝蓝设计( www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 、平面设计服务。