0

我需要有关更新由 jQuery 数据表插件呈现的表的帮助。

我有一个名为Index.aspx的视图,其中有一个DIV,其中呈现了传统的表数据。就像是:

<div id="students">
    <table ...>
         <thead>
           ...
         </thead>
         <tbody>
           ... (all the rows are statically rendered to DOM)
         </tbody>
    </table>

</div>

然后,我将数据表初始化为:

$(document).ready(function(){
    $("#students").dataTable();
});

我设计的将其与 CRUD 操作一起使用的方法如下:

所有 INSERT、UPDATE 和 REMOVE 场景都调用一个Action,它返回一个更新DIV的PartialView

但是,即使我看到数据已正确更新,我也会丢失 dataTable 的分页、排序等功能。它甚至无法反映数据表中正确的记录数。

我知道发生这种情况是因为 dataTable 在其内部结构中缓存数据,所以当我使用 Ajax 更新页面部分时,dataTable 不知道数据更改。

有没有人遇到过这种情况?解决此问题的 NICE 和 CLEAN 方法是什么?

干杯,

莫什

4

2 回答 2

1

你试过fnDraw在ajax之后打电话吗?

于 2010-07-12T02:55:31.857 回答
1

在您需要刷新表格的代码中尝试这样的操作:

oCache.iCacheLower = -1;
oTable.fnDraw();
于 2011-01-06T20:21:52.113 回答