2014-09-15 1 views
0

У меня есть таблица, которая получает массив данных Javascript. После изменения массива я хочу изменить данные, указанные в таблице, без повторного создания. я начинаю таблицу сКак изменить массив данных в DataTables после инициализации

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

Позже я добавлю еще одну записи в DataArray, но хочу, чтобы сохранить все сортировку, фильтры, ... Как перерисовывать таблицу с новым содержанием DataArray?

ответ

1
  1. Вы должны перезагрузить данные для вашего DataTable
  2. Вам нужно перерисовывать таблицу

Вы должны поместить весь этот код в 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

Если вы хотите добавить новую строку в таблицу вы можете воспользоваться добавить строки 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