2016-04-20 8 views
1

私は、UI-グリッドからエクスポートするpdfMakeを使用していますが、私はexporterPdfTableLayoutを使用して、テーブルのレイアウトを設定しようとしていますUIグリッドのドキュメントに記載されているようにUIグリッドpdfMake輸出レイアウト

pdfMakeでA tableLayoutフォーマット、グリッド線などを制御する。通常はデフォルトのレイアウトを使用します。私は次の行を使用してレイアウトを設定しようとしています

何のレイアウトを意味しないnullに デフォルトは、:

「lightHorizo​​ntalLinesは、」私は使いたいpdfMakeによって提供される標準的なレイアウトである
exporterPdfTableLayout: 'lightHorizontalLines' 

この目的のために使用されているこの例やui-gridのその他のドキュメントは見つかりません。

誰かが私が間違っているところを助けることができますか?

答えて

1

exporterPdfTableLayout: 

がUIグリッドでは動作しません表示されます。

+0

バグを引き起こしていたために誤ってこの行が削除されたか、削除されたとしても、その行のコメントが削除されたように見えることがあります。 – Gary

1

@Janbangoもui-grid.jsを更新して、レイアウト:grid.options.exporterPdfTableLayoutをdocDefinitionに含めることを忘れないでください。

 var docDefinition = { 
      pageOrientation: grid.options.exporterPdfOrientation, 
      pageSize: grid.options.exporterPdfPageSize, 
      content: [{ 
       style: 'tableStyle', 
       table: { 
        headerRows: 1, 
        widths: headerWidths, 
        body: allData 
       }, 
       layout: grid.options.exporterPdfTableLayout, 
      }], 
      styles: { 
       tableStyle: grid.options.exporterPdfTableStyle, 
       tableHeader: grid.options.exporterPdfTableHeaderStyle 
      }, 
      defaultStyle: grid.options.exporterPdfDefaultStyle 
     }; 
1

あなたはexporterPdfCustomFormatterを使用してレイアウトを設定することができますし、そのようなコンテンツの配列の最初のオブジェクトを参照する必要があります。

docDefinition.content[0].layout = { 
    hLineWidth: function(i, node) { 
     return (i === 0 || i === node.table.body.length) ? 2 : 1;}, 
    vLineWidth: function(i, node) { 
     return (i === 0 || i === node.table.widths.length) ? 2 : 1;}, 
    hLineColor: function(i, node) { 
     return (i === 0 || i === node.table.body.length) ? 'black' : 'gray';}, 
    vLineColor: function(i, node) { 
     return (i === 0 || i === node.table.widths.length) ? 'black' : 'gray';} 
} 

か:

docDefinition.content[0].layout = 'lightHorizontalLines' 

フルプロパティの設定を次のようになります。

exporterPdfCustomFormatter: function (docDefinition) { 
     docDefinition.content[0].layout = 'lightHorizontalLines' 
     return docDefinition; 
} 

そのパターンを使用して、任意のレイアウトプロパティを設定できます。サブプロパティ(「レイアウト」など)を必ず参照してください。コンテンツレベルでプロパティを設定しようとすると、ui-gridによって渡されるボディオブジェクトを格納するコンテンツオブジェクト(テーブルデータ)が上書きされます(または、@Garyのようなすべてのコンテンツプロパティを設定できます) )。