如何在初始化后更改DataTables中的数据数组

时间:2014-09-15 15:14:14

标签: javascript jquery datatables

我有一个表,它获取dataform Javascript数组。更改数组后,我想更改表中显示的数据,而不再重新创建它。 我用

开始表
$('#table').dataTable( {
                    "bPaginate": false,
                    "data": dataArray,
                    "columns": [
                        { "title": "....

稍后我将再向dataArray添加一条记录,但希望保留所有排序,过滤器,...... 如何使用dataArray的新内容重新绘制表?

2 个答案:

答案 0 :(得分:1)

  1. 您需要将数据重新加载到数据表
  2. 您需要重绘表格
  3. 您需要将所有这些代码放在fnInitComplete函数中。

    像这样:

    $(document).ready( function() {
      $('#example').dataTable( {
        "fnInitComplete": function(oSettings, json) {
          alert( 'DataTables has finished its initialisation.' );
          if(...){
            //load the new array
            oSettings.aoData = newArray;          
            //redraw the table
            $(this).fnDraw();
          }
        }
      } );
    } )
    

答案 1 :(得分:1)

如果您要在表中添加新行,可以使用添加行API

  var table  = $("#table").DataTable();
  t.row.add( [
            "col 1 value" ,
            "col 2 value",
            ...
            "col 5 value"
        ] ).draw();

http://www.datatables.net/examples/api/add_row.html