Modèle de cellule dans ng-grid
-
26-12-2019 - |
Question
j'utilise cell template
propriété de ng-grid
.Je définis une fonction dans la directive.Dans la même directive, je définis mon grid-options
.Voici le code :
data: 'mydata',
columnDefs: [
{field:'Timeout', displayName:'Delay', cellTemplate: '<a href=""
ng-click= "Report(Alert,Key,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'}
]
et fonction Report
est également défini dans la même directive.
ng-click
fonctionne chaque fois qu'on clique dessus.La fonction est appelée mais quelle que soit la variable d'entrée que je passe (Alert
et Key
) ne passe pas à la fonction alors que les trois autres paramètres 1000,1,1
sont adoptés.Alert
est la chaîne codée en dur que je veux transmettre.Key
est l'un des tableaux de valeurs entières dans 'mydata'.J'ai vérifié en utilisant alert
pour ces 2 valeurs spécifiques en fonction et il affiche UNDEFINED.
S'il vous plaît, aidez-nous à appeler la fonction correctement.Merci d'avance.
La solution
Voulez-vous quelque chose comme ceci :
$scope.Report=function(msg,key,v1,v2,v3){
//use v1, v2, v3 for whatever you like
alert(msg+':'+key);
};
$scope.gridOptions = {
data: 'myData',
columnDefs: [
{
field: 'name',
displayName: 'Delay',
cellTemplate: '<a href="" ng-click= "Report(\'Alert\',row.entity.age,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'
}, {
field: 'age'
}
]
};
Notez que la chaîne codée en dur (msg) doit être mise entre guillemets échappés.J'ai utilisé l'âge comme exemple pour une clé.Puisqu'il s'agit d'une valeur numérique dans cet exemple, vous n'avez pas besoin des guillemets.
Voici une Plunker