Angularjs 将ng click事件插入ng网格
我想做一些我不知道是否可能的事情 HTMLAngularjs 将ng click事件插入ng网格,angularjs,events,angular-ui,ng-grid,angularjs-ng-click,Angularjs,Events,Angular Ui,Ng Grid,Angularjs Ng Click,我想做一些我不知道是否可能的事情 HTML 海关抢劫犯 JS //main.js var-app=angular.module('myApp',['ngGrid']); 应用程序控制器('MyCtrl',函数($scope){ $scope.myData=[{name:“Moroni”,年龄:50}, {姓名:“Tiancum”,年龄:43}, {姓名:“雅各布”,年龄:27}, {姓名:“尼菲”,年龄:29}, {姓名:“埃诺斯”,年龄:34}]; $scope.gridOptions={
海关抢劫犯
JS
//main.js
var-app=angular.module('myApp',['ngGrid']);
应用程序控制器('MyCtrl',函数($scope){
$scope.myData=[{name:“Moroni”,年龄:50},
{姓名:“Tiancum”,年龄:43},
{姓名:“雅各布”,年龄:27},
{姓名:“尼菲”,年龄:29},
{姓名:“埃诺斯”,年龄:34}];
$scope.gridOptions={data:'myData',
cellTemplate:“这些定义适用于我:
$scope.gridOptions = {
data: 'myData',
columnDefs: [{
field: 'name',
displayName: 'Name',
cellTemplate: '<div ng-click="foo()" ng-bind="row.getProperty(col.field)"></div>'
}, {
field: 'age',
displayName: 'Age',
cellTemplate: '<div ng-click="foo()" ng-bind="row.getProperty(col.field)"></div>'
}
]
};
$scope.gridOptions={
数据:“myData”,
columnDefs:[{
字段:“名称”,
displayName:'名称',
单元格模板:“”
}, {
字段:“年龄”,
displayName:“年龄”,
单元格模板:“”
}
]
};
查看您的forked Plunker他们github站点上的文档非常旧
下面是指向此问题的正确页面的链接。
无法工作$scope.ShowDetails=函数(_obj)
$scope.ShowDetails=function(_obj)
{
alert('Hi! ' + _obj);
}
$scope.gridOptions = {
columnDefs: [
{ name: 'Search', field: 'Col1', cellTemplate: '<div ng-click="grid.appScope.ShowDetails(row)"><img src="/images/search.png" /></div>' },
{ name: 'Col2', displayName: 'Col2' },
]};
{
警报('Hi!'+\u obj);
}
$scope.gridOptions={
columnDefs:[
{name:'Search',field:'Col1',cellTemplate:'},
{name:'Col2',displayName:'Col2'},
]};
这里是将事件附加到ui网格单元格的示例。谢谢,但它不起作用。你知道为什么吗?你尝试过plunker吗?这是对这个问题的一个非常晚的回答,但我处理的是同一个问题。@main guy在回答中给出的示例并没有真正解决输入控件上单击事件的问题。这里是一个有效的例子。hth。正确的答案是使用grid.appScope
,如下所述:是的,我知道。但是这个问题是关于ng grid而不是ui grid的。无论如何,谢谢你指出这一点。对!谢谢你更新这个。我忘了提到ng grid
已经被弃用,取而代之的是ui grid
。如果你可以的话移动到ui网格
,你应该移动并且应该使用grid.appScope
。但是当你想移动但不能移动时会发生什么呢?安德森先生?:-)辞职,律师站起来,去健身房!
$scope.gridOptions = {
data: 'myData',
columnDefs: [{
field: 'name',
displayName: 'Name',
cellTemplate: '<div ng-click="foo()" ng-bind="row.getProperty(col.field)"></div>'
}, {
field: 'age',
displayName: 'Age',
cellTemplate: '<div ng-click="foo()" ng-bind="row.getProperty(col.field)"></div>'
}
]
};
yourCtrl.gridOptions = {
enableFiltering: true,
enableHiding : false,
enableSorting: true,
appScopeProvider : yourCtrl,
rowTemplate: '<div ng-click="grid.appScope.doSomething(row)" ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" class="ui-grid-cell" ng-class="col.colIndex()" ui-grid-cell></div>',
};
yourCtrl.doSomething = function(row) {
alert("lala");
}
ng-click="grid.appScope.doSomething"
$scope.ShowDetails=function(_obj)
{
alert('Hi! ' + _obj);
}
$scope.gridOptions = {
columnDefs: [
{ name: 'Search', field: 'Col1', cellTemplate: '<div ng-click="grid.appScope.ShowDetails(row)"><img src="/images/search.png" /></div>' },
{ name: 'Col2', displayName: 'Col2' },
]};