并非所有行都以ng-grid呈现

时间:2015-06-10 14:38:50

标签: javascript angularjs ng-grid

在我的项目中,我从服务器获取数据,并接收20个数据项。但是,只渲染了6行,而在ng-repeat中有6行。但是,正确计算画布的高度所有其他项目在调整窗口大小后显示。 此问题类似于:https://github.com/angular-ui/ng-grid/issues/860 但是使用virtualizationThreshold对我来说并不起作用,而且没有其他方法

以下是控制器代码的一部分:

 Uri heliumUri = findHeliumUri();
 Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
 r.play();

在我的html模板中,我以这种方式使用ng-grid:

app.controller('NagruzkaController', ['$scope', 'NagruzkaService', 'Cacher', 'RawInfoRetriever', '$timeout',
function ($scope, NagruzkaService, Cacher, RawInfoRetriever, $timeout) {
    $scope.configRequest = {};

    $scope.showLoader = false;
    $scope.showTable = false;

    $scope.fetch = function () {
        $scope.showLoader = true;

            NagruzkaService.getAll().then(function (data) {
                var tmp = RawInfoRetriever(data);
                $scope.nagruzkaData = tmp;
                Cacher.nagruzka = $scope.nagruzkaData;

                $scope.showLoader = false;
                $scope.showTable = true;
            });
        }
    };

    $scope.gridOptions = {
        data: 'nagruzkaData',
        enableColumnResize: true,
        showGroupPanel: true
    };

我通过npm获得了ng-grid,我当前的版本是2.0.1 我试图获得更高版本并试图使用2.0.14,但是在这个版本中根本没有显示行,直到窗口大小调整。

任何人都可以帮我吗?

3 个答案:

答案 0 :(得分:0)

您必须使用ng-grid插件Flexible Height Plugin。将此插件添加到网格选项的plugins属性中。

$scope.gridOptions = {
    data: 'nagruzkaData',
    enableColumnResize: true,
    showGroupPanel: true,
    plugins: [new ngGridFlexibleHeightPlugin()]
};

答案 1 :(得分:0)

最终,因为我需要尽可能快地解决这个问题,所以我最终只是触发了空的'调整大小'事件通过jQuery,使ng-grid重建并显示从服务器收到的所有数据。

答案 2 :(得分:0)

请使用此而不是并非所有行都以ng-grid呈现  它将100%工作

 $scope.gridOptions.excessRows = 100;