Angularjs는 테이블 열에 대한 필터뿐만 아니라 내림차순으로 밀리 초 단위로 날짜 정렬에 도움이 필요합니다. plunker here을 만들었지 만 일부 필터 매개 변수를 입력하면 필터링 된 데이터가 표시되지 않고 데이터가 테이블에서 손실됩니다.ngTable 날짜 (밀리 초) 데이터 정렬 및 필터링 방법?
날짜 열을 정렬하고 대소 문자를 구분하지 않는 필터 검색을 도와주세요. 아래 코드를 제공하고 있습니다.
<table ng-table="tableParams" show-filter="true" class="table" >
<tr ng-repeat="item in $data" height="10px">
<td data-title="'Date'" filter="{ 'item[0]': 'date' }" sortable="'item[0]'">{{translate(item[0])}}</td>
<td data-title="'Count'" filter="{ 'item[1]': 'text' }" sortable="'item[1]'">{{item[1]}}</td>
</tr>
</table>
$scope.translate = function(value) {
if (value == null || value == undefined)
return value;
var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
var myDate = new Date(value);
return myDate.getDate() + " " + monthNames[myDate.getMonth()] + " "+myDate.getFullYear();
}
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10 // count per page
}, {
total: $scope.tasksRunDataForTable.length, // length of data
getData: function($defer, params) {
// use build-in angular filter
var sortedData = params.sorting() ?
$filter('orderBy')($scope.tasksRunDataForTable, params.orderBy()) :
$scope.tasksRunDataForTable;
var orderedData = params.filter() ?
$filter('filter')(sortedData, params.filter()) :
sortedData;
params.total(orderedData.length); // set total for recalc pagination
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
내가 계산에 필터 작업을 얻을 수 있어요
업데이트,하지만 날짜와 행운 모두 열을 정렬. Updated plunker
<td data-title="'Count'" filter="{ '1': 'text' }" sortable="'1'">{{item[1]}}</td>
감사합니다. 카운트가 정렬되지 않는다는 점을 제외하고는 훌륭하게 보입니다. – abi1964
@ abi1964 날짜와 횟수를 모두 검색 할 때 태클에 대한 답변이 업데이트되었습니다. – cleftheris
@ abi1964도 수정하여 이제 정렬 작업을 수행합니다. 여기서 문제는 valueOf()를 올바르게 사용하지 않는다는 것입니다. 그것은 Array 메서드가 아닌 javascript Object 메서드입니다. 미안하다. – cleftheris