angularjs - 我们如何向 ng-grid 添加一行,然后选择该行?

标签 angularjs ng-grid

我的团队一直在尝试以下方法:

   $scope.addTest = function () {
        var TestRow = {
            "name": "xx",
            "description": "xx",
            "subjectId": 15
        };
        $scope.gridOptions.selectAll()
        var testRowLength = $scope.gridData.push(TestRow);
        $scope.gridOptions.selectItem(testRowLength - 1, true);
    }

但是最后一个 selectItem 没有正确执行选择。所以我们尝试了以下方法:
        $scope.$apply(function () {
            $scope.gridData.push(TestRow);
            $scope.gridOptions.selectItem(testRowLength - 1, true);
        });

现在我们收到一条错误消息:
Error: $apply already in progress

此问题已作为问题发布在 ng-grid 博客上,但它才刚刚发布,我们需要尽快帮助解决此问题。我希望有人可以就我们如何才能给我们建议

最佳答案

您选择的行过早,请使用 ngGridEventData事件代替。我将新行推到网格的开头,因此滚动更容易一些:

$scope.add = function(){
    var emptyContact = Utilities.newContact();
    var e = $scope.$on('ngGridEventData', function() {
        $scope.contactsGridOptions.selectItem(0, true);
        window.scrollTo(0,0);
        e();
    });

    $scope.contacts.unshift(emptyContact);
};

更多关于滚动:How do I scroll an ngGrid to show the current selection?

相关 ng-grid 问题:https://github.com/angular-ui/ng-grid/issues/354

关于angularjs - 我们如何向 ng-grid 添加一行,然后选择该行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16143566/

相关文章:

javascript - Angular 范围共享范围从表格行到模态

javascript - 将整个对象传递给 ng-grid 中的 cellFilter 函数

angularjs - 如何使用ng-if和table根据条件显示td

javascript - ng-disabled 无法在按钮中工作

javascript - 如何使用 Angular js在两个 Controller 之间传递范围?

Angularjs ng-grid REST 调用

javascript - 从包含 ng-grid 对象的状态转换不起作用

angular-ui - 在ng-grid的任何人中添加html链接

javascript - 使用angularJS设置HTML5日期输入字段的默认值

javascript - ng-idle 无法读取属性