我正在使用带有fnPromise的角度数据表,我的数据大约是10,000行 我也使用scrollY,我想只渲染可见的行以获得性能 我的代码:
vm.dtOptions = DTOptionsBuilder.fromFnPromise(function() {
var defer = $q.defer();
var dataPageParams = {
columnFilters: [],
endIdx: -1,
startIdx: -1,
filterParams: parentVM.filterParams,
sortDescending: false,
instanceID: parseData.instanceId
};
if (parentVM.filterId !== '') {
dataPageParams.filterID = parentVM.filterId;
}
DataService.GetDataPage(dataPageParams, dataPageParams.instanceID).then(function (pageDataResult) {
var data = pageDataResult.data.Data;
defer.resolve(data);
});
return defer.promise;
}).withLanguage(tableText)
.withScroller()
.withOption('scrollY', 410)
.withOption('scrollCollapse', true)
.withOption('deferRender', true)
.withPaginationType('full_numbers')
.withOption('rowCallback', rowCallback)
.withOption('lengthMenu', [[-1, 10, 50, 100, 500], [$translate.instant("ALL"), 10, 50, 100, 500]])
.withOption('createdRow', createdRow);
答案 0 :(得分:0)
正如我所看到的,你正在使用滚动插件,特别是这个插件,它将以不同的方式呈现数据表格,当你滚动内容时,它将以大于滚动值的方式呈现块中的行,您即将查看第一个块的结尾,它将呈现第二个块,因此,如果您想使用deferRender,则需要删除此插件。