0
서버에서 ng 테이블에 데이터를로드하고 위치를 변경 한 후 데이터를 다시로드해야합니다. 이것에 대한ng-table을 사용하여 서버에서 데이터를로드하고 다시로드하는 올바른 방법은 무엇입니까?
settlementsystem.controller('ContractsController', ['$scope', '$filter', 'ngTableParams', '$http', function ($scope, $filter, ngTableParams, $http) {
var contractsData = [];
$scope.groupby = 'stateId';
$scope.tableParams = new ngTableParams({
page: 1, // show first page
//count: contractsData.length, // hides pager
count: 8,
sorting: {
stateId: 'asc' // initial sorting
}
}, {
groupBy: $scope.groupby,
total: contractsData.length,
counts: [], // hides page sizes
getData: function ($defer, params) {
// use build-in angular filter
var filteredData = params.filter() ?
$filter('filter')($scope.contractsData, params.filter()) :
$scope.contractsData;
var orderedData = params.sorting ?
$filter('orderBy')(filteredData, params.orderBy()) :
orderedData;
if (orderedData != null) {
//params.total(orderedData.length); // set total for recalc pagination
$scope.tableParams.total(orderedData.length);
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
}
});
$scope.$on('reloadContractsData', function (event, args) {
var request = createRequestObject($scope, $http);
$http.post('http://dataServer01/DesktopModules/FE21_Services/API/PackingUnitService/LoadPackingUnitObjectListData', request).
success(function (data, status, headers, config) {
if (data.length > 0) {
$scope.status = status;
$scope.contractsData = data;
$scope.tableParams.reload();
}
}).
error(function (data, status, headers, config) {
$scope.contractsData = data || "Request failed";
$scope.status = status;
alert(data);
}
);
});
// set selected row
$scope.changeSelection = function (user) {
$scope.contractsData.forEach(function (u) {
u.$selected = false;
});
user.$selected = true;
}
$scope.$watch('groupby', function (value) {
$scope.tableParams.settings().groupBy = value;
console.log('Scope Value', $scope.groupby);
console.log('Watch value', this.last);
console.log('new table', $scope.tableParams);
$scope.tableParams.reload();
});
$scope.myData = contractsData;
$scope.gridOptions = {
contractsData: 'myData',
enablePaging: false
};
}]);
내 질문 :
내가있는 DataPager를 숨기고 싶은 이 아래에있는 내 코드입니다. 그러나 "contractsData.length"또는 "$ scope.contractsData.length"는 알 수 없습니다. 뭔가 잘못 됐음을 안다.
도와주세요.
고마워요. 이것은 정말로 문제였습니다. –
하지만 지금은 또 다른 문제가 있습니다. 데이터를 한 번 정렬 할 수 있습니다. 처음으로 분류는 중요하지 않습니다. 제발 여기에 오류를 보여 주시겠습니까? 고마워. –