使用Datatables丢弃fnCreatedRow中的行

时间:2014-03-13 19:20:02

标签: javascript jquery datatables

我有一个我正在使用的数据表,并且我基本上试图丢弃要在某些条件满足时创建的行(具体来说,如果与之关联的对象已被删除)

我一直在使用fnCreatedRow函数,我的最新尝试看起来像这样:

"fnCreatedRow": function( nRow, aData, iDataIndex ) {
    var row = $(nRow);
    var obj_id = aData.id;
    var obj = objects[obj_id];
    if (!obj) //Associated object is gone, so I want to discard the row
    {
        theDataTable.fnDeleteRow(nRow);
    }
    else
    {/*Various things with rows I don't want to discard*/}
}

这没用,行仍然像往常一样出现。是否有某种方法可以在创建时丢弃该行?或者一些有效的方法来确保它在创建后立即被删除?

1 个答案:

答案 0 :(得分:0)

目前,我似乎通过将theDataTable.fnDeleteRow(nRow);置于setTimeout内(延迟1毫秒)解决了我的问题。这看起来有点像我想要的那么粗糙,特别是因为我一直在处理JS中的竞争条件引起的问题,而不是我最近想要的。我仍然非常愿意接受更好的解决方案。