2014-12-04 8 views
2

호출 될 때 여러 값을 사용하여 결과와 함께 ng 테이블을 채우는 데 사용되는 계산 기능이 있습니다. 테이블이 한 번에 10 개의 값만 표시하도록 페이지가 지정된다는 점을 제외하고는 모두 잘 작동합니다. 대신 모든 값이 한 번에 표시됩니다. 페이지의 맨 아래에는 테이블의 값을 이동시키기위한 다음 및 뒤로 버튼이 나타납니다. 아래는 내가 사용하고있는 angularjs 코드입니다. 문제가있는 곳을 잘 모르겠습니다. 표시 할 때만 ng-table에 모든 값이 표시됩니다. 1

$scope.tableParams = new ngTableParams({ 
     page: 1,  //show first page 
     count: 10  //conunt per page 
    },{ 
     total: $scope.subsidyPaymentScheduleTable.length, 
      getData: function($defer, params){ 
       $defer.resolve($scope.subsidyPaymentScheduleTable.slice((params.page() - 1) * params.count(), params.page() * params.count())); 
      } 

    }); 

    //populates the Subsidy table 
    $scope.populateSubsidyTable = function(monthlySubsidyRedAm, startingSubsidy, monthsOnSubsidy) 
    { 
     var currentSubsidy = 0; 
     var currentDate = $scope.startingDate; 
     var subsidyDate = new Date(); 
     var monthsLeft = monthsOnSubsidy 
     $scope.subsidyPaymentScheduleTable = []; 
     var subsidyPaymentScheduleArray = []; 

     if(startingSubsidy > 1) 
     { 
      currentSubsidy = startingSubsidy; 
     } 

     if(monthlySubsidyRedAm <=0) 
     { 
      totalAmount = currentSubsidy * 6; 
     } 
     else 
     { 
      //the first month 

      $scope.subsidyPaymentScheduleTable.push({ 
        subsidyDate: currentDate, 
        subsidyAmount: currentSubsidy 
      }); 

      $scope.totalSubsidy = $scope.totalSubsidy + currentSubsidy; 

      //the first 5 months after the first 
      for(i=2; i <= 6; i++) 
      { 
       currentDate = moment(currentDate).add(1,'months').format("MM/DD/YYYY"); 


       $scope.subsidyPaymentScheduleTable.push({ 
        subsidyDate: currentDate, 
        subsidyAmount: currentSubsidy 
       }); 

       monthsLeft = monthsOnSubsidy - 6; 

       $scope.totalSubsidy = $scope.totalSubsidy + currentSubsidy; 

      } 
      //the rest of the subsidies 
      while(monthsOnSubsidy > 0) 
      { 
       if((currentSubsidy - monthlySubsidyRedAm) > 1) 
       { 
         currentSubsidy = currentSubsidy - monthlySubsidyRedAm; 

         currentDate = moment(currentDate).add(1,'months').format("MM/DD/YYYY"); 

         $scope.subsidyPaymentScheduleTable.push({ 
          subsidyDate: currentDate, 
          subsidyAmount: currentSubsidy 
         }); 

         $scope.totalSubsidy = $scope.totalSubsidy + currentSubsidy; 

         monthsLeft--; 
       } 
       else 
       { 
        break; 
       } 
      } 

      //reload subsidy table 
      $scope.tableParams.total($scope.subsidyPaymentScheduleTable.length); 
      $scope.tableParams.reload(); 
     } 
    } 

내가 var data = [];로 오히려 $scope에서 변수를 선언 할 때, 그 NG 테이블이 정확하게보고하지 않는 것 같습니다 것을 발견 한 HTML 코드

<table ng-table="tableParams" class="table subsidyPaymentScheduleTable"> 
     <tr data-ng-repeat="subsidy in subsidyPaymentScheduleTable" class="clickableRow"> 
      <td data-title="'Date'"> 
       {{subsidy.subsidyDate}} 
      </td> 
      <td data-title="'Amount'"> 
       {{subsidy.subsidyAmount | currency:"$"}} 
      </td> 
     </tr> 
    </table> 

답변

0

입니다.