Angular JS: les données JSON n'est pas affiché dans ng-Grille
J'ai créé MVC 4.0 application à l'aide de l'API Web qui renvoie des données au format JSON (je suis de la sérialisation d'objet json à l'aide de NewtonSoft.Json) et en essayant de lier les données en ng-Grille. Je suis de la réception de données dans le format suivant:
"[{\"Name\":\"FIRST_NAME\",\"Value\":\"FIRST_NAME\"},{\"Name\":\"CURRENT_DATE_TIME\",\"Value\":\"CURRENT_DATE_TIME\"},{\"Name\":\"CLIENTID\",\"Value\":\"CLIENTID\"},{\"Name\":\"CALLMODE\",\"Value\":\"CALLMODE\"}, {\"Name\":\"new 321\",\"Value\":null}]"
Quand j'ai essayé de les affecter à des données: de ng-Grille, chaque char renseigné sur l'autre ligne. voici le code javascript que j'ai écrit:
var guidesRespApp = angular.module('guidesRespApp', ['ngGrid']);
//Get Data from restful API.
guidesRespApp.controller('MyCtrl', function ($scope, $http) {
$http.get('/api/datadictionary').success(function (thisdata) {
$scope.myData = thisdata;
});
$scope.filterOptions = {
filterText: '',
useExternalFilter: true,
};
//Setting grid options
$scope.gridOptions = {
data: 'myData',
multiSelect: true,
filterOptions: { filterText: '', useExternalFilter: false },
enableRowReordering: false,
showGroupPanel: false,
maintainColumnRatios: false,
groups: [],
showSelectionCheckbox: true,
showFooter: true,
enableColumnResize: true,
enableColumnReordering: true
};
// $scope.totalFilteredItemsLength = function() {
// //return self.filteredRows.length;
// };
});
Si attribuée manuellement comme ci-dessous, les données sont affichées dans la grille:
$scope.myData = [{"Name":"FIRST_NAME","Value":"FIRST_NAME"},{"Name":"CURRENT_DATE_TIME","Value":"CURRENT_DATE_TIME"},{"Name":"CLIENTID","Value":"CLIENTID"},{"Name":"CALLMODE","Value":"CALLMODE"}];
quelqu'un peut s'il vous plaît aidez-moi à comprendre comment résoudre ce problème?
Aussi je voulais afficher le comte d'éléments filtrés lorsque je touche les valeurs dans filtertext.
OriginalL'auteur C K | 2013-04-30
Vous devez vous connecter pour publier un commentaire.
Comme mentionné sur http://angular-ui.github.io/ng-grid/ , les Données affichées dans la grille est de type array et chaque élément de cette matrice associée à une ligne affichée. J'ai donc modifié mon code comme ci-dessous et cela a fonctionné pour moi:
même
var myData = $.parseJSON(angular.fromJson(thisdata));
aussi de travail. Seulement nous devons d'abord analyser les données (pour cela, j'ai utiliséJSON.parse()
) et ensuite de les convertir en tableau (pour cela, j'ai utilisé$.parseJSON()
).OriginalL'auteur C K
Essayez de changer l'obtenir de rappel à l'une des opérations suivantes:
De référence de ce quant à la façon dont webapi est de retour json. ASP.NET WebAPI: Comment contrôler la chaîne de contenu retourné au client?
J'ai eu à faire ce var myData = angulaire.fromJson(angulaire.fromJson(data));
OriginalL'auteur lucuma