角度数据表deferRender不工作

时间:2016-09-21 10:06:24

标签: angularjs angular-datatables

我正在使用带有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);

1 个答案:

答案 0 :(得分:0)

正如我所看到的,你正在使用滚动插件,特别是这个插件,它将以不同的方式呈现数据表格,当你滚动内容时,它将以大于滚动值的方式呈现块中的行,您即将查看第一个块的结尾,它将呈现第二个块,因此,如果您想使用deferRender,则需要删除此插件。