2013-06-17 14 views
2

У меня есть два JQuery datatables в моем приложении MVC MVC, которые в настоящее время находятся в частичном. Я настроил его так, что если я выберу из любой таблицы данных, я могу выбрать строку, а затем, если я нажму другую кнопку, она должна перенести эту строку в другую таблицу. В настоящее время я могу сделать выбор очень хорошо, и я могу полностью перевести на бэкэнд. Моя модель просмотра настроена в Knockout для создания привязок данных, которые настраивают мой JQuery DataTable (который обрабатывает стилирование, сортировку и т. Д.). Когда я переношу, я загружаю строку в промежуточный массив до того, как пользователь нажимает кнопку авторизации, а затем удаляет эту запись из наблюдаемого массива, который привязывается к одной таблице, и добавляет в эту запись в другие таблицы наблюдаемый массив, который является данными bind для этой таблицы. Проблема в том, что у меня нет строк, которые удаляются из моего JQuery datatable, когда они удаляются из наблюдаемого массива, поддерживающего его, и они не добавляются в другую таблицу данных, когда они добавляются к наблюдаемому массиву, поддерживающему его. Однако во второй таблице добавляются новые строки, но все они просто говорят «Нет данных в таблице», и я думаю, что мне нужно удалить таблицу, а затем обновить ее данными, находящимися в наблюдаемом массиве.JQuery DataTables с KnockoutJS

Кто-нибудь знает, как это сделать с помощью Knockout и JQuery DataTables?

Спасибо!

ответ

2

У меня была та же проблема. Подробно, я получаю список пользователей json от службы отдыха, храню элемент в наблюдаемом файле, создаю таблицу и после прикрепления плагина datatables. Проблема заключается в том, что когда я добавляю элемент в наблюдаемый символ, я вижу новую строку, но ищет строку возврата 0, а также удаляет элемент из наблюдаемого символа как неработающие строки. Это потому, что datatables не обновляет свою структуру. К сожалению, из-за проблемы с доставкой я использовал это обходное решение: я уничтожаю и воссоздаю данные. Это не самое чистое и лучшее решение, особенно для больших столов.

+0

Как вы поддерживаете состояние своего стола после удаления и воссоздания его? как только я очищу, а затем удалю, а затем заново создаю таблицу, я получаю 0 строк, найденных для обеих таблиц ... спасибо за ответ! – noname

+0

К сожалению, я не хранил стол. Я использовал $ (". Table"). DataTable() , чтобы очистить таблицу данных до того, как она добавит новую строку и $ (". Table"). DataTable ({ "bDraw": true, "bDestroy" : true, }); , чтобы создать таблицу. – alecasciaro

+1

Я быстро об этом подумал, и вы можете попытаться добавить или удалить данные как из datatable, так и из наблюдаемого. Поэтому вам не нужно уничтожать и воссоздавать таблицу, тогда вам не нужно сохранять состояние. – alecasciaro

Смежные вопросы