2017-06-22 2 views
0

J'essaie de lier ui-grille en option extensible. Je suis en mesure d'obtenir les données, mais semble sage de liaison, il me manque quelque chose. Peut-conseils quelqu'un s'il vous plaîtui grille extensible ne montrant pas de données

Voici mon code

--controller -

      // JavaScript source code 
      $scope.gridOptions = { 
       expandableRowTemplate: 'expandableRowTemplate.html', 
       expandableRowHeight: 150, 
       //subGridVariable will be available in subGrid scope 
       expandableRowScope: { 
        subGridVariable: 'subGridScopeVariable' 
       } 
      } 

      $scope.gridOptions.columnDefs = [ 
      { name: 'check_number', field: 'check_number', displayName: 'check_number' } 

      ]; 

      var callData = function() { 
       alert('call data'); 
       return $http({ 
        method: "post", 
        url: "/Common/Metasystem/AP/Reports/ReportData.aspx/GetcheckReportData", 
        dataType: 'json', 
        data: { beforedt: '01/01/2018', afterdt: '01/01/1900', checknumberlist: '' }, 
        headers: { "Content-Type": "application/json" } 
       } 
       ) 
      }; 

      $scope.fetchResult = 
      function() { 
       // alert('call'); 
       $scope.gridOptions.data = 'aa'; 
       callData() 
       .success(function (resultvalue) { 
        // $scope.resultdata = "[" + JSON.stringify(resultvalue.d) + "]";//issue 
        $scope.resultdata = JSON.parse(resultvalue.d); 
        for (i = 0; i < $scope.resultdata.length; i++) { 

         $scope.resultdata[i].subGridOptions = { 
          columnDefs: [{ name: "check_number", field: "check_number", displayName: 'check_number' }, { name: "voucher_number", field: "voucher_number", displayName: 'voucher_number' }], 
          data: $scope.resultdata[i].friends 
         } 
        } 
        $scope.gridOptions.data = $scope.resultdata; 
       }) 
       .error(function (data) { 
        console.error('Repos error', data); 
       }) 
      }; 
      $scope.fetchResult(); 

--- données JSON de webmethod

  [{ 
       "Check_number": "116511", 
       "Check_date": "2012-11-21T00:00:00", 
       "Detail": [{ 
        "Check_number": "116511", 
        "Voucher_number": "10000115", 
        "Invoice_number": "10000115", 
        "Invoice_date": "2017-03-23T16:03:38.303", 
        "Invoice_amount": 125.0, 
        "Vendor_number": ""  
       }, { 
        "Check_number": "116511", 
        "Voucher_number": "10000115", 
        "Invoice_number": "10000115", 
        "Invoice_date": "2017-03-23T16:03:38.303", 
        "Invoice_amount": 125.0, 
        "Vendor_number": ""   
       }] 
      }] 

-------- - page d'aspx

  <div ng-controller="MainCtrl" ng-app="app"> 
      <div class="control-group"> 
      <input type="button" class="btn btn-small" ng-click="expandAllRows()" value="Expand All"/> 
      <input type="button" class="btn btn-small" ng-click="collapseAllRows()" value="Collapse All"/> 
      </div> 
      <div ui-grid="gridOptions" ui-grid-pinning ui-grid-expandable class="grid"></div> 
      </div> 

Répondre

0

trouvé t. l'affectation était erronée.

$ scope.gridOptions.data = 'resultdata';