Javascript 使用Datatables导出动态表
我正在尝试使用Datatables导出表 我遇到的问题是我有下表:Javascript 使用Datatables导出动态表,javascript,jquery,datatables,Javascript,Jquery,Datatables,我正在尝试使用Datatables导出表 我遇到的问题是我有下表: <table id="tbl" class="display nowrap" cellspacing="0" width="100%"> <thead> <tr> <th data-field="ID">ID</th> <th data-field="Name">Name</th> <th data-formatter="operateFo
<table id="tbl" class="display nowrap" cellspacing="0" width="100%">
<thead>
<tr>
<th data-field="ID">ID</th>
<th data-field="Name">Name</th>
<th data-formatter="operateFormatter" data-events="operateEvents"></th>
</tr>
</thead>
<tr data-index="0"><td class="sorting_asc" style="">1</td><td class="sorting" style="">asadasd</td><td class="sorting" style="">-</td></tr>
<tr data-index="1"><td class="sorting_asc" style="">2</td><td class="sorting" style="">qwqweqwe</td><td class="sorting" style="">-</td></tr>
</table>
这将始终仅导出2行。不管我用javascript向表中添加了多少
删除了克隆的东西,因为那不是我真正要做的
我使用ajax填充表:
function Load_ObjectList() {
var url = urlService + "/TESTLoadAgencies/0";
var EmpCode = sessionStorage['EmpCode']
$.ajax({
type: 'GET',
contentType: "application/json; charset=utf-8",
url: url,
dataType: "json",
async: true,
crossDomain: true,
cache: false,
data: "{\"Empcode\":\"" + EmpCode + "\"}",
success: function (response) {
if (response.Status == "0") {
if (response.list != null) {
objDataAll = response.list;
$('#tbl').bootstrapTable('destroy');
$('#tbl').bootstrapTable({
data: objDataAll,
escape: 'false'
});
}
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR);
}
});
}
调用此函数后,我添加了按钮。当我按下按钮时,0行被复制
我遗漏了什么?它只导出您在表中手动添加的两行,因为您在初始化datatable后克隆最后一行。你应该提前做 如果希望最后一行位于导出的文件中,请首先克隆该行,然后按如下方式初始化数据表:
var $tableBody = $('#tbl').find("tbody"),
$trLast = $tableBody.find("tr:last"),
$trNew = $trLast.clone();
$trLast.after($trNew);
$('#tbl').DataTable( {
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
]
} );
这确实有效,所以谢谢。但是我用ajax获取数据,即使在之后添加按钮,它也不起作用
var $tableBody = $('#tbl').find("tbody"),
$trLast = $tableBody.find("tr:last"),
$trNew = $trLast.clone();
$trLast.after($trNew);
$('#tbl').DataTable( {
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
]
} );