Modelo de célula em ng-grid
-
26-12-2019 - |
Pergunta
estou usando cell template
propriedade de ng-grid
.Estou definindo uma função na diretiva.Dentro da mesma directiva estou a definir a minha grid-options
.Aqui está o 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>'}
]
e função Report
também é definido na mesma diretiva.
ng-click
está funcionando sempre que é clicado.A função está sendo chamada, mas seja qual for a variável de entrada que estou passando (Alert
e Key
) não está passando para a função enquanto os três parâmetros restantes 1000,1,1
estão sendo ultrapassados.Alert
é a string codificada que eu quero passar.Key
é um dos arrays de valores inteiros em 'mydata'.Eu verifiquei usando alert
para estes 2 valores específicos em função e está mostrando INDEFINIDO.
Por favor, ajude a chamar a função corretamente.Desde já, obrigado.
Solução
Você quer algo como isso:
$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'
}
]
};
Observe que a string codificada (msg) deve ser colocada entre aspas de escape.Usei a idade como exemplo de chave.Como é um valor numérico neste exemplo, você não precisa das aspas.
Aqui está um Plunker