我的问题是,一旦加载了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

09-25 18:05