Angular UI-Grid: dans un modèle de cellule, comment accéder à la valeur à partir d'un champ / cellule différent


TonyGW

J'ai essayé d'utiliser le plugin Angular UI-Grid pour rendre les tables de données, et j'ai les exemples de données suivants:

var data = [
{"id" : 10, "name" : "Name 1", "city" : "San Francisco"},
{"id" : 12, "name" : "Name 2", "city" : "San Diego"},
{"id" : 20, "name" : "Name 3", "city" : "Santa Barbara"},
];

ci-dessous se trouve le columnDefs pour gridOptions, dans le champ de nom, je dois créer un lien hypertexte en utilisant ui-sref

$scope.gridOptions.columnDefs = [
{field: 'id', displayName: 'ID'},
{field: 'name',
cellTemplate: '<div class="ui-grid-cell-contents tooltip-uigrid" title="{{COL_FIELD}}">' +
                       '<a ui-sref="main.placeDetail{{placeId: \'{{row.entity.id}}\' }}">{{COL_FIELD CUSTOM_FILTERS}}</a></div>'
},
{field: 'city', enableSorting: true}
];

La table est rendue correctement sauf pour la valeur row.entity.id . Les valeurs que j'obtiens dans les hyperliens (à l'intérieur de la colonne de nom ) sont séquentielles: 1, 2 et 3, au lieu de 10, 12 et 20 comme défini dans le tableau de données , cependant, les valeurs d' id affichées dans la colonne d' ID sont ce que J'attends: 10, 12 et 20. Je me demande comment vous accéderiez à la valeur du champ id à l'intérieur du champ de nom , et pourquoi les id dans la cellule de nom sont séquentiels?

c0bra

Vous ne devriez pas avoir besoin d'utiliser des accolades ui-srefcar vous êtes déjà dans une expression JS. Essaye ça:

ui-sref="main.placeDetail({placeId: row.entity.id })"

Articles connexes