以编程方式在Kendo网格AngularJS中选择一行

前端之家收集整理的这篇文章主要介绍了以编程方式在Kendo网格AngularJS中选择一行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以帮助我以角度编程方式选择一个剑道网格行.我可以按行号选择一行.我无法找到一种方法来根据列的内容选择一行.

HTML

<body ng-controller="MainCtrl">
    <p>Hello {{name}}!</p>
    <div kendo-grid="myGrid" k-options="myOptions"  k-selectable="'row'" k-on-change="myGridChange()"></div> 
  </body>

JS:

var app = angular.module('plunker',['kendo.directives']);

app.controller('MainCtrl',function($scope) {
  $scope.name = 'World';

  $scope.myOptions = {
    columns:[
      {
        field: 'ID'
      },{
        field: 'FirstName'
      },{
        field: 'LastName'
      },],dataSource: [
            {ID:139,FirstName:'John',LastName:'Doe'},{ID:250,FirstName:'Jane',LastName:'Smith'},{ID:376,FirstName:'Henry',LastName:'Rocks'}
            ],dataBound:function(e) {
              var grid = e.sender;
              grid.select("tr:eq(2)");
              grid.select("tr[FirstName='Henry'])");  // This doesn't work
      }
  };

  $scope.myGridChange = function(){
     var selectedRows = $scope.myGrid.select();             // This doesn't work
     console.log($scope.myGrid.dataItem(selectedRows[0]));
  };


});

此外,当以编程方式选择行时,我的网格更改事件中出现错误.手动选择行时,它工作正常.

这是我的傻瓜
http://plnkr.co/edit/PpDuSR10xNOxOVirDpfN?p=preview

解决方法

你应该把你的“tr”建立在id / uid上.如果你检查元素,它会告诉你在该表行中有什么属性.

dataBound:function(e) { 
                  var grid = e.sender;
                  var data = grid._data; //this is your array of data. make sure you check what's in your object array. log it to see.

                  data.forEach(function(entry) { 
                     if($scope.name === entry.name){ 
                        grid.select('tr[data-uid="' + entry.uid + '"]');  
                     }  
                  })
                },

猜你在找的Angularjs相关文章