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>