この質問は数か月前のものであることは知っていますが、同じことを探していて、問題の解決方法を文書化することにしました。
補足:ng-grid-wysiwyg-export.js
プラグイン フォルダーにプラグインがあることがわかりましたが、その使用に関する例やドキュメントが見つからず、理解するのに時間がかかりませんでした...
ng-grid plugins フォルダーに、CSV プラグインの例を含むファイルがあることがわかりました。パラメーターを介してプラグイン コンストラクターに渡すことができるcolumnOverridesplayground.html
機能の使用方法を示しました。opts
$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
};
上記の質問の例では、次のように、フィルターを適用する列ごとにオーバーライド関数を定義できます。
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 を呼び出すだけでなく、これらを定義する必要があるのは少し余分な作業ですが、このアプローチにより、エクスポートされたデータが画面に表示されるものとわずかに異なるようにする柔軟性が得られます...おそらくより表現力豊かな日付形式など。