Vous pouvez toujours modifier le texte de l'en-tête. On dirait que vous pouvez mettre une montre à la valeur de comptage et faire quelque chose de semblable à ce qui suit:
$scope.$watch('yourCountValue', function(newVal){
$scope.gridOptions.columnDefs[0].displayName = 'Users(' + newVal + ')';
$scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.COLUMN);
})
le code peut varier dans votre cas. Par exemple, vous pouvez regarder la modification de $ scope.data à la place et utiliser $ scope.data.length pour concaténer le displayName. Vous pouvez sélectionner l'en-tête et l'index sera 1 au lieu de 0, etc.
Mise à jour Réponse: avez-vous oublié d'injecter ui.grid et uiGridConstants?
var app = angular.module('myApp', ['ui.grid']);
app.controller('appCtrl', ['$scope', 'uiGridConstants', function($scope, uiGridConstants) {
$scope.gridOptions = {
columnDefs: [
{field: 'field1', displayName: 'User 1'},
{field: 'field2', displayName: 'User 2'},
],
data: [
{ field1: "user 1", field2: "bar"},
{ field1: "user 2", field2: "bar"},
{ field1: "user 3", field2: "bar"}
],
onRegisterApi: function(gridApi) {
$scope.gridApi = gridApi;
}
};
//put the watch here
/...
}]);
Pouvez-vous donner un exemple plus détaillé? –
J'ai ui-grille qui ont des colonnes avec un nom d'en-tête comme Utilisateurs, Prénom, Latname, Adresse. Dans la colonne Utilisateurs dans l'en-tête, j'ai besoin des utilisateurs (nombre d'utilisateurs) compte des utilisateurs dans le nom d'en-tête avec les utilisateurs. J'ai cette valeur de compte qui est dynamique. Comment puis-je afficher avec header-name Utilisateurs –
J'ai ajouté une image pour vous aider à mieux comprendre. –