如何使用DataTables API修复由fnDeleteRow引起的错误?

时间:2017-03-14 17:44:18

标签: javascript jquery datatables

我正在使用DataTables API,我找到了一个完全符合我想要的函数fnDeleteRow,它只是按索引删除一个表行。我在我的功能中运行了它:

function foo(index){
    console.log('Row '+index+' will be deleted...');
    fnDeleteRow(index,null,true);
}

但是,由于我每隔10秒重复运行一次这个功能,我会收到一个奇怪的错误。

Cannot set property '_aData' of undefined

还有一些奇怪的事情。我试图追踪问题,当我在foo调用之前将print语句(console.log())放入文件时,它总是消失。我认为可能需要一秒钟来完全删除行或其他内容,因为当我删除此行时,错误会再次出现。

1 个答案:

答案 0 :(得分:0)

您可以修改foo函数定义并添加条件以根据行索引获取数据。

您可以删除该行,如果您获得了数据,否则您将无能为力。如下所示
其中fnGetData获取数据,table是dataTable实例。

function foo(index) {
  var rowData = table.fnGetData(index);
  if (rowData) {
    console.log('Row ' + index + ' will be deleted...');
    fnDeleteRow(index, null, true);
  } else{
    console.log('Unable to delete Row ' + index);
  }
}

演示

fiddle