나는이 질문이 몇 달 전 이었지만 나는 똑같은 것을 찾고 있었고 나는 그 문제를 어떻게 해결했는지 설명 할 것이라고 생각했다.
사이드 노트 : 나는 플러그인 폴더에 ng-grid-wysiwyg-export.js
플러그인이 있음을 보았다 그러나 나는 그것의 사용에 아무런 예제 나 문서를 발견하고 그것을 알아 내기 위해 시간이 걸릴하지 않았다
I 때문에 ...은 CSV 플러그인에 대한 예제가있는 ng-grid plugins 폴더에 playground.html
파일이 있음을 확인했습니다. 당신은 당신이 원하는 각 열에 대한 재정의 함수를 정의 할 수 있습니다 위의 문제의 예를 들어, 그래서
$scope.myData = [
{hasThing: false, obj: {a:5, b:6}, name: "Moroni", age: 50, ln: 'sdf'},
{hasThing: true, obj: {a:6, b:7}, ln: "Tiasdfsdfnd", age: 43}
];
var csvOpts = { columnOverrides: { obj: function(o) { return o.a + '|' + o.b; } } };
$scope.gridOptionsBig = {
data: 'myData',
plugins: [new ngGridCsvExportPlugin(csvOpts)],
showFooter: true
};
: 그것은 columnOverrides에게 당신이 opts
매개 변수를 통해 플러그인 생성자로 전달할 수 있습니다 기능을 사용하는 방법을 설명 과 같이,에 필터를 적용 :
var csvOpts = {
columnOverrides: {
service_date: function(d) { return $filter('date')(d); },
service_code: function(c) { return $filter('myCustomCamelCaseFilter')(c); },
price: function(p) { return $filter('currency')(p); }
}
};
그것을 다음을 정의해야하는 약간의 추가 작업이 바로 columnDefs에서 이미 정의 된 cellFilter를 호출하는 대신이지만,이 방법은 당신에게 당신의 수출을 할 수있는 유연성을 제공 않습니다 데이터가 약간 다르다. 화면에 표시되는 내용 ... 아마도 더 표현적인 날짜 형식 등일 수 있습니다.
본인은 CSV 플러그인을 해킹 할 수 있도록 예제로 WYSIWYG 플러그인을 사용하여 종료 (1) 헤더에 표시 이름 사용, (2) 렌더링 된 행 내보내기 (필터가 활성화 된 경우) 및 (3) 표시되는 내보내기 열만. –
참고 ... 실제로 wysiwyg 플러그인을 사용하지 않았습니다 ...이 코드를 살펴본 후 이러한 사용자 정의 방법을 알아 냈습니다. 관심있는 사람들을 위해 http://plnkr.co/edit/NI7s0X?p=preview를 만들었습니다 ... 부수적으로 필터링이 작동하지 않는 이유를 모르지만 CustomNgGridCsvExportPlugin에 대한 변경 사항은 가능한 한 명확하게 문서화되었습니다. –
유감스럽게도이 솔루션은 UI 그리드에서 작동하지 않습니다. – Mordred