I am using angular datatables with fnPromise and my data is about 10,000 rows also i use scrollY and i want to render only the visible rows for performence My code:
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);