jQuery DataTable - 如何在不创建新DataTable对象的情况下设置aoColumnDefs?

时间:2015-03-04 03:23:15

标签: javascript jquery datatable

我知道如何使用以下方法设置列名:

var table = $('#'+String(response.chartID[i])).DataTable({
                                stateSave: true,
                                aoColumnDefs: aryJSONColTable,
                                processing: true,
                                serverSide: true,
                                bDestroy: true,
                                "scrollX": true,}))

但是可以在DataTable对象中设置oaColumnDef吗?

例如,在特定的回调中,我可以将oaColumnDef设置为另一组名称。

我最接近的是任何回调,我已经尝试了

$(this).dataTable().fnSettings().aoColumns 

将列作为对象

但是可以再次设置吗?

我也试过

$(this).dataTable().aoColumnDefs = AnotherArray 

然而,似乎这不起作用。

有人能指出我正确的方向吗?

由于

2 个答案:

答案 0 :(得分:1)

您可以根据您发布的使用旧版本的代码更新数据表。

在新版本中,您有一个列函数来通过选择器获取列。

检查API doc

答案 1 :(得分:1)

假设上面声明了变量表

如果您想更新特定列

table.fnUpdate("newChangedValue", row-index , column-index);  

如果您想更新完整的行

oTable.fnUpdate( ['column1Value', 'column2Value', 'column3Value', ... ], rowIndex );

添加新记录

table.fnAddData( [  column1Value, column2Value, column3Value.... ]);        

获取点击的行索引

$("#tblchargeRate tbody").delegate("tr", "click", function() {
    var iPos = table.fnGetPosition( this );
});

var aData = table.fnGetData( iPos );

aData [0]是数据表中的第一个列元素

注意:处理索引值,即数据表中的第一行将为0索引