ng-grid单击事件回调

时间:2014-04-24 18:18:20

标签: javascript angularjs ng-grid

我正在使用ng-grid并尝试设置单击单元格时的回调。在该回调中,我想知道单元格的行和列。我找到的最好的方法是在columnDefs 中为每个列使用cellTemplate(并放置一个onclick事件),这不是很干:

$scope.gridOptions = { 
    data: 'myData',
    columnDefs: [{field: 'name', displayName: 'Name',
                  cellTemplate: '<div onclick="...">{{row.entity[col.field]}}</div>'
                  },
                  {field: 'age', displayName: 'Age', cellTemplate: ...}
                ]
};

这也有问题,因为ng-click不起作用,我无法使用onclick来控制器的范围。

非欢迎非网格解决方案......

1 个答案:

答案 0 :(得分:2)

不幸的是,ng-grid没有很好的返回列号的概念。

如果您只使用行号,下面的plunker应该告诉您如何操作:

http://plnkr.co/edit/jYZWV9FpCdeENIETLEXV?p=preview

您使用beforeSelectionChange函数,其中包含rowItem。这有行号等。

另一个选项是使用单元格模板向具有行/列编号的每个单元格添加数据属性,然后为该单击设置一个事件侦听器。如果仍然使用很多columnDef并且自己非常干,但它会比你现在拥有的干得多。