所以我做了一大堆谷歌搜索,似乎没有任何东西可以用于我的应用程序。
我创建了一个表,在创建完成后我初始化数据表
expiredEmailsTable = $selector.dataTable( {
"iDisplayLength": 100
} );
我的一个列(td' s)只是一个加载图标,而我的ajax调用实际上是在查询数据库以获取值。
一旦我得到了我的ajax响应,我就将td的html从加载图标更改为实际值。
我的问题是,当数据表初始化表时列没有意义(考虑到它只是一个加载图标)。我想要的是一旦加载所有内容以便能够排序(新值是一个数字)。基本上在每次ajax调用之后,我需要一种方法来更新'数据表,所以它将能够诉诸。我没有运气就试过以下事情:
$selector.trigger("update");
$selector.dataTable().fnDraw();
expiredEmailsTable.api().draw(false);
$selector.dataTable().api().draw(true);
$selector.DataTable().draw(true);
有没有人有任何建议?据我所知,我已经尝试了所有可能的组合,我可以找到他们的文档。我没有添加全新的行或任何内容,只需更改1个特定列的值。
答案 0 :(得分:2)
当从HTML表格呈现Datatable时,它必须动态地确定数据类型以确定如何对列进行排序。我建议你尝试将列模型应用到你的表中,如下所示(这只是一个例子):
$selector.dataTable({
columns: [
{title: 'String column1', 'type': 'string'},
{title: 'String column2', 'type': 'string'},
{title: 'String column3', 'type': 'string'},
{title: 'Number column', 'type': 'number'}
]
});
'type'是告诉数据表在需要排序时要做什么的。