Angularjs 如何从ng网格中获取单元格值

Angularjs 如何从ng网格中获取单元格值,angularjs,ng-grid,Angularjs,Ng Grid,我是AngularJS的初学者。我研究了ng网格的演示,有一个问题 index.html <!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="utf-8" /> <title>AngularJS Plunker</title> <link rel="stylesheet" type="text/css" href="http://angular-ui

我是AngularJS的初学者。我研究了ng网格的演示,有一个问题

index.html

<!DOCTYPE html>
<html ng-app="myApp">

<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<link rel="stylesheet" type="text/css" href="http://angular-ui.github.com/ng-grid/css/ng-grid.css" />
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
<script type="text/javascript" src="http://angular-ui.github.com/ng-grid/lib/ng-grid.debug.js"></script>
<script src="app.js"></script>
</head>

<body ng-controller="MyCtrl">
    <div class="gridStyle" ng-grid="gridOptions"></div>
    <div class="selectedItems">{{mySelections}}</div><br><br>

</body>

</html>
当我选择第一行时,selectedItems的div将显示[{“name”:“Moroni”,“id”:1}]。结果还可以。如果我只想从所选行获取单元格[id]的值,如何修改代码


这里是使用
afterSelectionChange
回调将ID从选择提取到其他数组

$scope.gridOptions = { 
    data: 'myData',
    selectedItems: $scope.mySelections,
    multiSelect: true,
    afterSelectionChange: function () {
      $scope.selectedIDs = [];
      angular.forEach($scope.mySelections, function ( item ) {
        $scope.selectedIDs.push( item.id )
      });
    }
  };
现在,您可以从模板中引用
{{selectedds}
,并在其中包含所有选定的ID。或者只是第一个:
{{selectedIDs[0]}


请参见此处的工作示例:

您可以使用afterSelectionChange事件的参数访问所选行的rowItem。实体属性将具有id和name属性

 $scope.gridOptions = { 
    data: 'myData',
    selectedItems: $scope.mySelections,
    multiSelect: true,
    afterSelectionChange: function (theRow, evt) {      
       alert(theRow.entity.id);
}

})

实际上,我想获得一个单元格值,并在用户选择表格中的单元格时进行修改

以上答案使用固定列的字段。。像

 $scope.selectedIDs.push( item.id ) // id is column filed
我没有找到这些答案,而是找到了另一种我想要实现的方法

示例代码:

editableCellTemplate
columnDefs
的一个选项,用于解决此问题


有棱角的是女人!!你好,奥利弗。你的代码运行良好。但是如果我们使用multiSelect:false,这样用户只能单击一行,那么如何获取所选行?是否存在selectedRow或selectedItem instaed之类的selectedItems属性??因为如果我们将selectedItems用于multiSelect:false,我们所选的行将添加到$scope.mySelections数组中,如果我们要访问该项,我们必须写入$scope.mySelections[0].name。。怎么解决呢?我没有更简单的办法给你。很抱歉
 $scope.selectedIDs.push( item.id ) // id is column filed