2017-01-19 2 views
2

私はpdfの作成に取り組んでいますが、今までは問題なく進行していますが、特定の行を太字で表示します。たとえば、画像を参照してください:grid template from jspdf-autotable どうすればいいですか?例えばid = 1、id = 3の行は太字で表示できますか?私のコードの下に。このような特定の行を太字にするにはどうすればよいですか?

function createPDF() { 
      if(vm.activeCompanyYear){ 
       var url = "/coci/report/registry/"+vm.activeCompanyYear; 

       DataApiService.callApi(url,null,"GET").then(function(reportData){ 

        if(reportData){ 
         var doc = new jsPDF('p', 'pt'); 
         var row = 45; 
         addPdfHeader(doc, row, ""); 
         doc.printingHeaderRow = true; 
         var columns = [ "Description", vm.activeCompanyYear,vm.activeCompanyYear-1, vm.activeCompanyYear-2,vm.activeCompanyYear-3,vm.activeCompanyYear-4,"% t.o.v.'13" ]; 

         var rows = []; 

         for(var j=0; j<reportData.length; j++){ 
          var obj = reportData[j]; 

          if (!obj.description) {obj.description = '';} 

          if (!obj.year5) {obj.year5 = '';} 

          if (!obj.year4) {obj.year4 = '';} 

          if (!obj.year3) {obj.year3 = '';} 

          if (!obj.year2) {obj.year2 = '';} 

          if (!obj.year1) {obj.year1 = '';} 

          if (!obj.delta) {obj.delta = '';} 


          /*TODO : Align data right in grid*/ 

          var singleRow = [obj.description,obj.year5,obj.year4,obj.year3,obj.year2,obj.year1,obj.delta]; 
          rows.push(singleRow); 

         }      

         doc.autoTable(columns, rows, { 
          theme : 'grid', 
          styles: { 
            halign: 'right', 
            }, 
          headerStyles: { 
             fillColor: [33, 150, 243], 
             halign:'center' 
          }, 
          margin : { 
           top : 100 
           }, 
          columnStyles:{ 
           0: {halign:'left'} 
          } 

         }); 


         vm.isLoading = false; 
         blockUI.stop(); 
         /* doc.save(); */ 
         vm.reportData = doc.output('datauristring'); 

        } 
       }); 
      } 
     } 

答えて

3

何かが動作するはずです:

doc.autoTable(cols, data, { 
    createdCell: function(cell, data) { 
    if (data.row.index === 0 || data.row.index === 2) { 
     cell.styles.fontStyle = 'bold'; 
    } 
    } 
}) 
+0

これは動作しませんでした、それはまだ、悪いしようと私の –

+0

同じです私の更新されたコード。 –

+0

こんにちは、私は以下のように試してみましたが、それはうまくいった: doc.autoTable(cols、data、{ createdCell:function(cell、data){ if(data.row.index === 0 || data .row.index === 2){ cell.styles.fontStyle = '太字'; } } }}) –

0

を私は次のようにそれを試してみました、それが働いた:

doc.autoTable(cols, data, { createdCell: function(cell, data) { if (data.row.index === 0 || data.row.index === 2) { cell.styles.fontStyle = 'bold'; } } }) 
関連する問題