Plantilla de celda en ng-grid
-
26-12-2019 - |
Pregunta
estoy usando cell template
propiedad de ng-grid
.Estoy definiendo una función en la directiva.Dentro de la misma directiva estoy definiendo mi grid-options
.Aquí está el código:
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>'}
]
y función Report
también se define dentro de la misma directiva.
ng-click
está funcionando cada vez que se hace clic en él.Se llama a la función, pero cualquiera que sea la variable de entrada que estoy pasando (Alert
y Key
) no pasa a la función mientras que los tres parámetros restantes 1000,1,1
están siendo aprobados.Alert
es la cadena codificada lo que quiero pasar.Key
es uno de la matriz de valores enteros en 'mydata'.Lo comprobé usando alert
para estos 2 valores específicos en función y se muestra INDEFINIDO.
Por favor ayuda a llamar la función correctamente.Gracias de antemano.
Solución
Quieres algo como esto:
$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'
}
]
};
Tenga en cuenta que la cadena codificada (msg) debe escribirse entre comillas escapadas.Usé la edad como ejemplo de clave.Dado que en este ejemplo es un valor numérico, no necesita las comillas.
Aquí hay un plomero