slickgrid滚动动作触发回调刷新表集

时间:2016-02-01 20:10:28

标签: javascript jquery angularjs callback slickgrid

我目前正面临这个问题,我尝试使用不同的方法解决它,但我目前卡住了。 (我正在使用棱角分明的光滑网格)

我想显示一个足够适合网格的大型数据集中的部分数据,因为我想要延迟加载。我有一个事件侦听onScroll事件,因此当有人滚动条时它会触发带参数的$ http调用。假设我将条形滚动到某个位置,我将从后端开始检索数据,并在视口中找到网格末端的位置。并且它需要回显到具有受尊重位置的视图。这是一个简单的例子来说明我想要实现的目标,返回的数据的真实应用是动态的。

var options = {
enableCellNavigation: true,
enableColumnReorder: false,
enableCellNavigation: true,
asyncEditorLoading: false,
enableAsyncPostRender: true
 };

//$http call to retrieve data from row 1 to row 27, and display in the grid
DataService.setData(0, //plus soem other data)

//watch the variable, when getData is set
$scope.$watch(function(return DataService.getData() function(newData)
{
  var grid;
var columns = [
{id: "title", name: "Title", field: "title"},
{id: "duration", name: "Duration", field: "duration"}
];


var data = [];
for (var i = newData["rowID"]; i < newData.length; i++) {
  data[i] = {
    title: newData["name"],
    duration: newData["duration"]
  };
}


grid = new Slick.Grid("#myGrid", data, columns, options);

grid.onScroll.subscribe(function(e, args){
    //http call to retrieve the data
    //!!issue with args.scrollTop is that it does not get the row number of grid, but pixel wide position. I tried with args.row and few other funcs but no help
    DataService.setData(args.scrollTop(), //plus some other data);
});
});

我没有实际的代码,但是如果你理解了我的意思,请指点我正确的方向去做。因为我没有看到有人在做类似的功能,我可以从中学习。新的slickgrid,想要学习,谢谢。

+,我也试过使用asyncPostRender,但是通过使用它,需要调用每个单元格来渲染视口中的网格,我想创建一种感觉用户实际上滚动整个集合数据,没有加载延迟。因此,视口中的整个网格刷新将非常有用。

0 个答案:

没有答案