本帖最后由 Richard.Huang 于 2023-8-16 11:53 编辑
批量滚动加载可以通过监听TopRowChanged事件来实现,当新的top行索引到达一个阈值就去datasource中增加新的数据即可。
值得注意的是,因为SpreadJS对于数据绑定的设计是双向绑定的,当您修改sheet时,datasource也会发生改变,当您修改datasource时,sheet也会发生改变,因此,对于数据数组不能简单的使用push来解决该问题,只能通过for循环用数组的索引去添加内容
例如:
// 获取当前已经加载的数据量
var rowcount = sheet.getRowCount();
// 增加数据需要的行数
sheet.addRows(rowcount, 15);
var datasource = sheet.getDataSource();
// 循环增加数据
for (var i = 0; i < 15; i++) {
datasource[i + rowcount] = newdata;
}
也许您会对for循环的性能问题有所疑问,但是daixiofu,没有问题的,经过测试,每次动态加载1w行数据根本没有感觉 |
|