I'd guess that the success handler for the post isn't in the correct js 
scope.  If you set a var me = $scope; prior to the $http call then use 
me.myData = data in the success handler you'll be in business.  I would 
also suggest that your move the http call to a service.  Doing it like you 
have it makes it more difficult to test.

Gordon

On Sunday, June 22, 2014 2:38:28 AM UTC-5, nathan wrote:
>
> This is regarding nggrid not displaying data after the REST call.
>
> When i use the $http post() and the success callback - In chrome debug 
> window i can see that rest call is successful and json is logged on the 
> console and there are no other errors in the console - but still no data is 
> displayed on the grid/ui. There seems to be some problem in $http.post() - 
> (Even if i hardcode the $scope.myData in the success() method i am unable 
> to see the data populated on the grid/ui). I have debugged in chrome and 
> found that there is correct data in $scope.mydata.
>
> If I hardcode the data in $scope.myData before the $http.post() call - i 
> see the nggrid/ui populated and working fine. So there is no problem on the 
> JSON or ng-grid data and columnDefs.
>
> i inspected the $scope using ng-inspector /batarang plugin and there is 
> data in $scope.mydata. However renderedRows in nggrid internal structure is 
> empty array - not sure why ??
>
> Can the experts pls weigh in - thanks. I have trimmed the some of the code 
> below....
>
>   function (controllers) {
>         controllers.controller('nggridcontroller',
>             [   '$scope',
>                 'RFLeftGridSummaryServicefunc', '$http',
>                 function ($scope, RFLeftGridSummaryServicefunc1, $http) {
>                     // WORKS GOOD IF I HARDCODE this JSON in the $scope here 
> outside the http call
>                     //  $scope.myData  = 
> [{"login":"kDavid1","propertyid":128105,"scenarioname":"Property History 
> Default","year":"2014"............
>
>                     var jsonString = '{"properties":[2323,2245]}';
>                     $http({method: 'POST',
>                         url: 
> '/ysconfig/rf/properties/summary/?scenarioCreator=kDavid&scenarioName=budgetscenerio',
>                         data: jsonString}).success(function (data) {
>                         console.log('success ');
>                         console.log(JSON.stringify(data)); // DISPLAYS THE 
> DATA FROM REST CALL
>                         $scope.myData = data;
>                         // DOES not work EVEN if I HARDCODE the working JSON 
> in scope
>                         //$scope.myData  = 
> [{"login":"kDavid1","propertyid":128105,"scenarioname":"Property History 
> Default","year":"2014"......
>                     }).error(function (data) {
>                         console.log('error ');
>                     });
>
>                     // NG-GRID JSON
>                     $scope.gridOptionsFromController = {
>                         //  here is data from scope
>                         data: 'myData',
>                         columnDefs: [
>                             {field: 'year', displayName: 
> 'Year-fromController'},
>                             {field: 'occupancy', displayName: 'Occ'} ,
>                             {field: 'rent', displayName: 'Rent'} ,
>                             {field: 'revenue', width: '90', cellFilter: 
> 'currency', displayName: 'Rev'}
>                         ]............
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to