NG-GridにNGキーを押しながらイベントを挿入します
-
23-12-2019 - |
質問
私はそれが可能かどうかわからないことをやりたいです
HTML
<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
<meta charset="utf-8">
<title>Custom 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 type="text/javascript" src="main.js"></script>
</head>
<body ng-controller="MyCtrl">
<div class="gridStyle" ng-grid="gridOptions"></div>
</body>
</html>
.
js
// main.js
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
$scope.myData = [{name: "Moroni", age: 50},
{name: "Tiancum", age: 43},
{name: "Jacob", age: 27},
{name: "Nephi", age: 29},
{name: "Enos", age: 34}];
$scope.gridOptions = { data: 'myData',
cellTemplate:'<div class="ngCellText" ><a ng-click="foo()">{{row.getProperty(col.field)}}</a></div>'
}
$scope.foo = function() {
alert('');
};
});
.
私はNGグリッドの中でNGクリックイベントを行に入れたいです、私はその考えを見回していますが、可能な限り本当に理解していない、そうであれば、それをする直感。 このコードでは、それは私にとって良いようです、アプリはアラートを起動しません、またはアイデア?
これはプランター http://plnkr.co/edit/u6wdwtav30hrhjk8xfpa?p=preview
解決
これらの定義は私のために機能します:
$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>'
}
]
};
.
他のヒント
彼らのGithubサイト上の文書は本当に古いです。
これはこの問題の右ページへのリンクです。 http://ui-grid.info/docs/#/tutorial/305_appscope
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");
}
.
はい、どういうわけか/ p>
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' },
]};
.
ここでは、UIグリッドセルにイベントを添付する例。
所属していません StackOverflow