DataTables允许对动态加载的列进行排序

时间:2015-10-26 21:27:57

标签: javascript sorting dynamic datatable datatables

所以我做了一大堆谷歌搜索,似乎没有任何东西可以用于我的应用程序。

我创建了一个表,在创建完成后我初始化数据表

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个特定列的值。

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'是告诉数据表在需要排序时要做什么的。