0

pdfmakeライブラリを使用して、 Angular UI Gridで pdf コンテンツをエクスポートしました。日付のフォーマット方法を教えてください。ありがとう。

現在、次のように表示されます。

ここに画像の説明を入力

角度グリッドは次のようになります:

ここに画像の説明を入力

 {
   name: app.localize('BrDateReceived'),
   field: 'bpoHeaderPerformedFors[0].dateReceived',
   cellFilter: 'date:\'MM/dd/yyyy\'',
   width: 140,
 },
4

3 に答える 3

2

良い議論: cellFilter は Pdfmake では動作しません

アップデート

UI-grid の gridoptions には、各セルでコールバックできる機能があることがわかりました。angular-moment と gridoptions.exporterFieldCallback を使用して、PDF の各セルを変更することができました。このplnkrの app.js ファイルの 43 行目から 47 行目を見てください。

また、github の正しいリポジトリで angular-moment を使用するように、以下のリンクを更新したことに注意してください。以前使用していたものは、私が推奨するものではありませんでした。

幸運を!

元の回答

angular-moment をアプリにインポートしてから、ドキュメント定義で使用することをお勧めします。私はこれを以前に成功させました。このような:

{text: 'DATE: ' + moment(bpoHeaderPerformedFors[0].dateReceived).format("MM-DD-YYYY")}

angular-momentまたは momentjs の完全なドキュメント( Angularバージョンのベース) の詳細を参照してください。

幸運を!

于 2016-01-25T04:58:22.767 に答える
1

答えは、 exporterFieldCallback 関数と angular 組み込みフィルターの組み合わせを使用することです。最初に $filter を含めます。

app.controller('myController', ['$scope', '$filter', function ($scope,$filter){

そして、あなたの gridoptions で:

$scope.gridOptions = {
exporterFieldCallback: function (grid, row, col, input)
    {
        if (col.name == 'myDateColumnName')
        {
            return $filter('date')(input, 'medium');
        } 
        else
        {
            return input;
        }
    },
}

任意の日付フィルター タイプを使用できます。中は、私の目的に適した例にすぎません。

于 2016-02-23T03:26:17.367 に答える
0

phattyDと同じコードを使用しました。また、このチェックを一般的に実行するために、ui-grid に付属するデフォルトのセル テンプレートも要求します。

// Format the DATE
// http://ui-grid.info/docs/#/api/ui.grid.exporter.api:GridOptions 

gridOptions.exporterFieldCallback = function ( grid, row, col, value ){
  if ( col.colDef.cellTemplate == 'ui-grid/date-cell' || col.colDef.type == 'date' ){
    value = $filter('date')(value, 'yyyy-MM-dd');
  }
  return value;
}

ExcelCSVの同じ状況を回避するために、完全なコードを添付します。

それが役に立てば幸い

これが私のPlunkrです。

于 2017-05-24T18:34:28.653 に答える