我的问题是,一旦加载了dataTable,我将使用新值更新某些列,并且它可以正常工作。但是,当我尝试导出表时,导出的数据仅具有旧值,而没有新值。另外,即使我尝试根据新值执行搜索,它也会显示无可用数据。
任何变通办法将是一个很大的帮助。
//Adding a button
"oTableTools": {
"aButtons": [
{
"sExtends": "xls",
"sButtonText": "Export data as CSV",
"mColumns": "visible"
}
]
}
// Updating the column
var oTable = $('#example').dataTable();
oTable.fnUpdate(colData, $("tr#"+i)[0],10); //Updating
oTable.fnDraw(); // Since doing an update alone is not working, I tried to draw the table again
最佳答案
似乎在更新显示数据时没有更新被过滤的数据。
为您的updateColumn
函数尝试以下操作:
function updateColumn(){
var oTable = $("#dashboard").dataTable();
oTable.fnDeleteRow(1);
oTable.fnAddData({
"name":"Jerald",
"id":"2",
"dep":"Mech" });
oTable.fnDraw(true); //Redraw
}
删除行并添加具有更新信息的新行也应更新过滤器数据。
您的脚本还有另一个问题。您在每次绘制时都调用
updateColumn
函数,这是不必要的。尝试移动它,使其仅被调用一次。这是一个工作的jsFiddle来说明这些更改:jsFiddle