【问题标题】:datatables dynamically add row with fnAddData or similar and add a class to a specific column数据表使用 fnAddData 或类似方法动态添加行,并将类添加到特定列
【发布时间】:2013-01-11 20:59:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript jquery datatables


    【解决方案1】:

    我认为您可以通过控制列定义并通过 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);
    

    并让数据表自己动态呈现任何格式

    【讨论】:

    • 表格最初由 php 渲染,然后在其上运行 datatables,在这种特殊情况下,表格已经渲染,我正在根据用户输入添加新行。所以链接总体上是我想应用一个类的第二列的一部分,而不是链接本身。该列是让文本左对齐,背景颜色略有不同,但仅在该列上,当我使用 fnAddData 添加它时,该类不适用,所以我试图弄清楚如何让该类应用于TD总体]
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      相关资源
      最近更新 更多