我正在通过ajax加载数据,因此我不必加载不需要的单元格,直到用户更改视图(滚动或键盘导航)。
到目前为止,我已经使用了' autoColumnSize' &安培; ' autoRowSize'用于处理滚动的插件(下面的代码摘录),但它似乎令人费解,并且不会处理键盘导航。
var colPlugin = hot.getPlugin('autoColumnSize');
var rowPlugin = hot.getPlugin('autoRowSize');
// ...plugin enabled here...
hot.addHook('afterScrollHorizontally', loadViewportData });
hot.addHook('afterScrollVertically', loadViewportData });
function loadViewportData () {
var rowStart = rowPlugin.getFirstVisibleRow();
var rowEnd = rowPlugin.getLastVisibleRow();
var colStart = colPlugin.getFirstVisibleColumn();
var colEnd = colPlugin.getLastVisibleColumn();
// ...add +1/-1 to indexes to handle partially visible cells if within the table ...
request =ajaxGetData(colStart, colEnd, rowStart, rowEnd);
request.done(function (d) {
// update table with the data...
}
};
核心中是否有事件处理视口的更改并提供视图范围。或者我应该完全采用不同的方法吗?