Angular ui grid:将所选单元格的值添加到模型中

时间:2015-04-14 23:54:27

标签: angularjs angular-ui-grid

我目前有一个使用Angular ui-grid创建的网格,允许用户选择多个行。每行的第一列都有一个id号,我想将所选行的id添加到模型中的对象,以便我可以使用这些id在后端查询我的数据库。

我的问题是我还没弄清楚如何访问单元格值,更不用说如何将所选单元格的值添加到模型中。所以任何帮助都将非常感谢!

以下是我在控制器中使用的网格代码

        $scope.gridOptions = {
        enablePaginationControls: false,
        enableRowSelection: true,
        enableSelectAll: true,
        paginationPageSize: 25,
        enableHorizontalScrollbar: 0,
        enableVerticalScrollbar: 0,
        columnDefs: [
            {field: 'analysis_id',displayName: 'Analysis ID',width: '15%'}, 
            {field: 'study_id', displayName: 'Study ID',width: '15%'},
            {field: 'publisher', displayName: 'Publisher',cellFilter: 'titlecase',width: '20%'},
            {field: 'parent_company', displayName: 'Parent Company', cellFilter: 'titlecase',width: '30%'}
        ]};

    $scope.gridOptions.onRegisterApi = function(gridApi) {
        $scope.gridApi = gridApi;
    };

2 个答案:

答案 0 :(得分:1)

尝试

$scope.gridApi.cellNav.on.navigate($scope,function(newRowCol, oldRowCol) {               
    console.log($scope.gridApi.grid.getCellValue(newRowCol.row,newRowCol.col));
});

答案 1 :(得分:1)

也许 gridApi.selection.getSelectedRows(); 是您需要的。

([' ui.grid.selection'] app.module中的依赖性)

$scope.gridOptions.onRegisterApi = function(gridApi){

    $scope.gridApi = gridApi;
    gridApi.selection.on.rowSelectionChanged($scope,function(row){
        $scope.selectedObject = gridApi.selection.getSelectedRows();
        console.log ($scope.selectedObject);
    });
};