0
私はdatatables.jsを使用してレポートテーブルを作成しています。レポートページにはいくつかのフィルタがあります。フィルタを適用すると、サービスは列数が異なるデータを返します。このため、私はテーブルを破壊して作り直しています。しかし、エラーが発生します未定義またはnull参照のプロパティ 'スタイル'を取得できません。代わりにDatatables破壊関数エラー
var htmlTable = "<table class='display responsive no-wrap cell-border compact' style='margin: 0 !important' width='100%' id='policyTable'>" +
"<thead>" +
"<tr class='cell-border custom-header-footer tableHeaders' id='tableHeaders'>" +
"<th>Policy Details</th>" +
"</tr>" +
"</thead>" +
"</table>";
function InitAndLoadTableData(tableData, tableId, exportTitle) {
if ($.fn.DataTable.fnIsDataTable("#" + tableId)) {
var oldTable = $("#" + tableId).DataTable();
oldTable.destroy(true);
$("#divFor_" + tableId).append(htmlTable);
}
var table = $('#' + tableId)
.DataTable({
data: tableData,
dom: "<'row' <'col-md-12'B>><'table-scrollable't><'row'<'col-md-5 col-sm-12'i><'col-md-7 col-sm-12'p>>",
"searching": false,
"paging": false,
"info": false,
"ordering": false,
//destroy: true,
responsive: true,
processing: false,
columns: tableColumns,
buttons: [
{ extend: 'copy', className: 'btn red btn-outline', title: exportTitle },
{ extend: 'pdf', className: 'btn green btn-outline', title: exportTitle },
{ extend: 'excel', className: 'btn yellow btn-outline', title: exportTitle },
{ extend: 'csv', className: 'btn purple btn-outline', title: exportTitle }
]
});
table.buttons().container().appendTo($('.col-md-12:eq(0)', table.table().container()));
}
あなたが言ったように試みましたが、うまくいきませんでした。私のアプリケーションでは、列と列のスタイルを動的に作成しています。ですから、テーブルhtmlでコンテナdivのhtmlを設定した後、カラムを再作成して問題を解決しました。あなたの返信@Ranjithに感謝します。 –