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

これは、単一の行を追加する場合に機能します(同様の関数を使用して、ボーナスとなるループを実行せずに複数の行を追加する方法を知っている場合)。ただし、特定の列が必要です。この場合、2番目の列には特別なクラスがあります。その場で追加される列にクラスを追加する方法はありますか?

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

そして、datatableにフォーマット自体を動的にレンダリングさせます

于 2013-01-11T21:32:18.153 に答える
0

最初の質問については、「fnCreatedRow」コールバック(http://www.datatables.net/usage/callbacks )に接続できます。これにより、行追加イベントをリッスンし、必要に応じてそれらを操作できるようになります。

「ボーナス」は、ループを回避するために2D配列をfnAddDataに渡すことができることです。

于 2013-01-11T23:39:01.660 に答える