2014-06-17 3 views
1

Я использую datatable (v1.10.2 с jquery 1.9.2), потому что мне нравятся готовые функции (поиск/сортировка и т. Д.). Однако теперь мне нужна возможность: 1) использовать анимацию (скользящую) при отображении/скрытии строки 2) иметь скрытую строку, доступную в DOM для изменения (т. Е. Она существовала бы, но имела бы дисплей: none).Создайте дочернюю строку DataTable, не показывая ее?

Мой текущий код для создания таблицы выглядит следующим образом (где formatChild() возвращает HTML для таблицы):

if (row.child.isShown()){ 
     row.child.hide(); 
     tr.removeClass('shown'); 
} else { 
    row = row.child(formatChild()); 
    row.show(); 
    tr.addClass('shown'); 
} 

Я использую несколько услуг, чтобы изменить данные в таблице в дочернюю строку с помощью AJAX и хотите иметь возможность изменять эти данные, даже если строка скрыта. Я знаю, что могу создать карту в памяти и использовать информацию в сохраненной карте, когда я покажу дочернюю строку, но мне гораздо проще сразу изменить скрытую строку.

Я надеялся, что смогу сделать row() child(), изменить строку, а затем вызвать row() child(). Show(), но строка не создается в DOM после row.child ().

Что касается анимации, я нашел ответ here, но она включает в себя изменение кода DataTables :(

я считал только с помощью JQuery, чтобы добавить строку в DataTable и скрыть его, но я не мог найти хороший способ привязать его к первичной строке для сортировки.

В настоящее время я склоняюсь к тому, чтобы добавить div в мою основную строку таблицы, которую я покажу/скрою/обновляю, а не используя дочерние строки вообще.

Какова наилучшая практика для управления этими скрытыми областями в данных (и показывая их с помощью ani мация)? ty

ответ

1

В случае, если у кого-то еще один вопрос, я закончил использование DIV в строке, а не с помощью дочерней строки DataTables. Когда я добавляю новую строку в datatable, div скрывается, тогда я скрываю и показываю (слайд-шоу/скольжение) в событии клика. Это дает мне приятные анимации, упрощает сортировку и позволяет мне изменять информацию в скрытой строке. Интересно, что DIV содержит таблицу, а текст, который находится в этой таблице, когда я создаю новую строку, доступен для поиска; однако текст в таблице, который добавляет/изменяет мой вызов ajax, не доступен для поиска. Я изучаю, как я хочу, чтобы это сработало (и, если это возможно, может оставить div вне поиска).

+0

Забавный, у меня была такая же проблема, и теперь она была решена точно так же, прежде чем читать сообщение, я просто хотел бы проверить, как другие люди это решали. Кажется, мозги программиста похожи. – Broco

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