2017-03-01 21 views
3

私はDatatableを使用してテーブルを作成し、データID pdfとexcel.Tをエクスポートしました。 )どのインデックス番号。 1.TableはWebページで作業しています。しかし、ファイルがエクスポートされているときにヘッダにシリアル番号が表示されていますが、番号がファイルに表示されていません。 下記のコードをご覧ください。 解決策があれば教えてください。私に知らせてください。 おかげ自動生成されたインデックスカラムは、Jquery Datatableを使用して生成ファイル(pdf、excel)にエクスポートされません。

$(document).ready(function() { 
var t = $('#log').DataTable({   
    dom: 'Blfrtip', 
    buttons: [ 
    { 
     extend: 'pdf', 
     title: 'Activity Report', 
     footer: true, 
     exportOptions: { 
      columns: [1,2,3,4,5] 
     } 
    }, 
    { 
     extend: 'excel', 
     title: 'Activity Report', 
     exportOptions: { 
      columns: [1,2,3,4,5] 
     }, 
     footer: false 
    } , 
    { 
     extend: 'print', 
     title: 'Login Activity Report', 
     exportOptions: { 
      columns: [1,2,3,4,5] 
     }, 
     footer: true 
    }  
] 
}); 
    t.on('order.dt search.dt', function() { 
    t.column(1, {search:'applied', order:'applied'}).nodes().each(function (cell, i) { 
     cell.innerHTML = i+1; 
    }); 
    }).draw(); 
}); 

答えて

0

は、私はあなたの列名がデータベースから来ていると、実行時にすべての列に値を代入していると仮定しています。私はまたあなたの列名が次の通りであると仮定しています.NAME、ACCOUNT、AGE、SALARYそしてデータベースに列をレンダリングしている間に、srnoと呼ばれるヌル列を1つ追加します。

"aoColumns": [ 
    { 
      "data": "srno", 
      "defaultContent": "" // WHICH IS CHANGED TO SR NO 
    },] 

ここでは、列がDataTableのをjqueryの内の配列であるので、あなたは私たちがこれをやっている

exportOptions: { 
     columns: [0,1,2,3,4] 
    } 

のようにそれを変更する必要がありますエクスポートオプションでそう列0にNULL値を代入しています。

$(document).ready(function() { 
var t = $('#log').DataTable({   
dom: 'Blfrtip', 
buttons: [ 
{ 
    extend: 'pdf', 
    title: 'Activity Report', 
    footer: true, 
    exportOptions: { 
     columns: [0,1,2,3,4] 
    } 
    }, 
{ 
    extend: 'excel', 
    title: 'Activity Report', 
    exportOptions: { 
     columns: [0,1,2,3,4] 
    }, 
    footer: false 
    } , 
    { 
    extend: 'print', 
    title: 'Login Activity Report', 
    exportOptions: { 
     columns: [0,1,2,3,4] 
    }, 
    footer: true 
    }  
] 
"aoColumns": [ 
    { 
      "data": "srno", 
      "defaultContent": "" // WHICH IS CHANGED TO SR NO 
    }, 
    { "mData": "NAME" }, 
    { "mData": "ACCOUNT" }, 
    { "mData": "AGE" }, 
    { "mData": "SALARY" } 
    ] 
}); 
t.on('order.dt search.dt', function() { 
t.column(1, {search:'applied', order:'applied'}).nodes().each(function (cell, i) { 
    cell.innerHTML = i+1; 
    }); 
    }).draw(); 
}); 

今日、私は同じ問題に直面してきましたし、いくつかのR & Dの後、私は、このソリューションに来ました。あなたの問題を解決するのは時期尚早ですが、私たちのコミュニティの他の読者に役立つことを願っています。

+0

で始める必要がありますすなわち、Webページ上に表示されているPDFのページに印刷するインデックス列を必要としています。 –

0

は、私の知る限り理解されるように、あなたは私がここに同じ問題を持っている、それは常に1

t.on('order.dt search.dt', function() { 
     t.column(1, {search:'applied', order:'applied'}).nodes().each(function (cell, i) { 
      cell.innerHTML = i+1; 
      t.cell(cell).invalidate('dom'); 
      }); 
     }).draw(); 
関連する問題