datatables使用fnAddData或类似函数动态添加行,并将类添加到特定列

时间:2013-01-11 20:59:00

标签: javascript jquery datatables

好的我正在尝试使用数据表动态地向已呈现的表添加新行。到目前为止我所拥有的是

oTable.fnAddData(["D:\Exlab", '[<a href="#" class="datasource_row_edit" data-idr="reference">Edit</a>] [<a href="#" class="datasource_row_delete" data-idr="reference">Delete</a>]']);

这适用于添加单行(如果有人知道如何使用类似的函数添加多行而不运行可能是奖励的循环)。但是我希望在这种情况下有一个特定的列,第二列有一个特殊的类,是否有一种方法可以将类添加到即时添加的列中?

2 个答案:

答案 0 :(得分:3)

我认为你可以通过控制列定义并通过fnRender分配类来实现这一目标。定义列后,为fnAddData函数提供一些数据。

以下是类似的SO问题.. CLICK HERE,我认为您会觉得有用。

在您的情况下,我认为列定义看起来像这样

...
    "aoColumns": [
            {   
                "sClass": "datasource_row_edit",
                "fnRender": function( oObj ) {
                    return '<a href="#" data-idr="reference">Edit</a>';
                } 
            },
            {  
              "sClass": "datasource_row_delete",
               "fnRender": function( oObj ) {
                    return '<a href="#" data-idr="reference">Delete</a>';
                } 
            }
        ],
...

通过他们的api .. http://www.datatables.net/api ...您可以通过json将表格提供给任意数量的行

var json = eval("[" + response + "]");
oTable.fnAddData(json);

让数据表动态呈现任何格式化

答案 1 :(得分:0)

对于第一个问题,您可以连接到“fnCreatedRow”回调http://www.datatables.net/usage/callbacks。这将允许您监听行添加事件并根据需要对其进行操作。

“奖励”是你可以将2d数组传递给fnAddData以避免循环