1

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

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>]']);

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

4

2 回答 2

3

我认为您可以通过控制列定义并通过 fnRender 分配类来完成此操作。定义列后,向 fnAddData 函数提供一些数据。

这是一个类似的 SO 问题..单击此处,我​​认为您会发现它很有用。

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

...
    "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);

并让数据表动态呈现任何格式本身

于 2013-01-11T21:32:18.153 回答
0

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

“奖励”是您可以将二维数组传递给 fnAddData 以避免循环

于 2013-01-11T23:39:01.660 回答