angularjs - ui-grid 3.0.0 中的 selectedItem

标签 angularjs angular-ui-grid

我目前正在测试 angular ui-grid 3.0.0。按照旧版本的示例代码,selectedItems 在被选中时应该包含一些对象。在版本 3 中,它似乎不起作用。有人遇到过同样的行为吗?

Angularjs 版本:1.3.11 Angular 用户界面网格:3.0.0-rc.16 这是我的 Controller 中的一些提取代码:

$scope.gridOptions = {  };
$scope.mySelections = [];

$scope.gridOptions = {
    enableRowSelection: true,
    enableRowHeaderSelection: false,
    modifierKeysToMultiSelect: true,
    multiSelect: true,
    pagingPageSize: 25,
    useExternalPagination: true,
    useExternalSorting: true,
    selectedItems: $scope.mySelections
};

$scope.changeDelete = function () {
    $log.debug('Selection length = ' + $scope.mySelections.length);
    if ($scope.mySelections.length > 0) {
        $location.path("/EREditHospitalChange/");
    }
    $location.path("/EREditHospitalChange/LYNDA");

}

//mySelections.length 始终为 0。

他在 html 页面中声明了我的网格:

<div ui-grid="gridOptions" ui-grid-selection ui-grid-pagination ui-grid-edit class="grid"></div>

<pre>{{mySelections}}</pre>
</fieldset>
<button ng-click="changeDelete()">Change/Delete</button>

[] This is what is visible in {{mySelections}}

最佳答案

您应该使用 gridApi.selection。请参阅 http://ui-grid.info/docs/#/api/ui.grid.selection.api:PublicApi 处的文档和教程:http://ui-grid.info/docs/#/tutorial/210_selection

在您的 gridOptions 中,添加以下内容:

$scope.mySelections = [];

$scope.gridOptions = {
    enableRowSelection: true,
    enableRowHeaderSelection: false,
    modifierKeysToMultiSelect: true,
    multiSelect: true,
    pagingPageSize: 25,
    useExternalPagination: true,
    useExternalSorting: true,
    // Addition:
    onRegisterApi: function (gridApi) {
        $scope.gridApi = gridApi;
        gridApi.selection.on.rowSelectionChanged($scope,function(rows){
            $scope.mySelections = gridApi.selection.getSelectedRows();
        });
    }
};

这是一个关于 Plunker 的工作示例:http://plnkr.co/edit/u5pzISURTnvPBm9FyiLr?p=preview

您还可以删除 $scope.gridOptions = { },因为它完全有效,就像您之后使用属性声明对象一样

关于angularjs - ui-grid 3.0.0 中的 selectedItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28193767/

相关文章:

javascript - 更改数据源后如何保留 ui-grid 选择?

javascript - ui-grid 突出显示某些特定行

javascript - Angular UI-Grid - 当自定义指令更新单元格值时,afterCellEdit 事件不会触发

javascript - 谷歌地图标记不显示

javascript - Trim 不是 Protractor 中的函数

javascript - Angular 模态 ui Bootstrap : Can i use another controller child of ModalInstanceCtrl?

angularjs - 元素的 "collapse"属性不起作用?

javascript - 获取 Angular ui-grid 中的单元格值

javascript - AngularJS:通过回车触发功能的推荐方式

angular-ui-grid - 角度用户界面网格: change label of the sum aggregate