2016-07-24 3 views
2

Не могли бы вы рассказать мне, как обновить выбранную строку в таблицах данных jquery?Как обновить выбранную строку в таблицах данных jquery

В приведенном ниже коде я пытаюсь установить ячейку. Похоже, он установлен, но не отражает в таблице.

var datatable = $('#table').DataTable(); 
datatable.row('.selected').cell(':eq(1)').data("1234"); 
alert(datatable.row('.selected').cell(':eq(1)').data()); 

Здесь можно предупредить измененное значение, но то же самое не отражается в пользовательском интерфейсе таблицы данных. Вы можете мне помочь?

ответ

3

Вы должны перекроить таблицу, используя .draw() метод, как указано в документации ячейки() данные() метод:.

Обратите внимание, что при использовании в качестве сеттера, этот метод устанавливает данные для применения в таблицу, хранящую ее в массиве источников данных или объекте для строки, но не обновляет внутренние кеши данных (т.е. кеш поиска и порядка) таблицы до тех пор, пока не вызывается метод draw().

datatable.row('.selected').cell(':eq(1)').data("1234").draw(); 

Проверить documentation

+0

Я сделал это тоже, но до сих пор она не отражает в пользовательском интерфейсе. –

2

Official documentation

ничья() С: DataTables 1,10 перерисовки таблицы.

Описание При выполнении действия, такие как добавление или удаление строки, изменение сортировки, фильтрации или пейджинговой характеристики таблицы вы хотите DataTables обновить дисплей, чтобы отразить эти изменения . Эта функция предоставляется для этой цели.

Ваш код верный, но данные не будут применяться автоматически, просто вызовите функцию draw().

datatable.row('.selected').cell(':eq(1)').data('123').draw(); 
0

Для меня это было решение:

var t = $('#myTable').DataTable(); 
t.cell('.selectedRow', ':eq(0)').data('something data'); 
t.cell('.selectedRow', ':eq(1)').data('something data'); 
t.cell('.selectedRow', ':eq(2)').data('something data'); 
t.draw(); 
Смежные вопросы