DataTables - отображать специальные строки с разными ячейками и форматированием - PullRequest
0 голосов
/ 19 января 2012

Мы используем плагин jQuery DataTables .Плагин выглядит довольно негибким.Мы уже работали над двумя основными проблемами и сейчас сталкиваемся с третьей:

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

Wireframe

Мы используем шаблоны jQuery для визуализации содержимого строки вместе с knockoutjs обработчик привязки путем когнитивного сдвига. Кажется, что нет никакого способа настроить различные типы строк или что-либо в таблицах данных, поэтому cogshift переопределяет fnRowCallback для поддержки шаблонов jQuery.

То, как мы находимсяв настоящее время рассматривается решение этой проблемы путем добавления в модель представления «фиктивного» элемента со специальным свойством, например «IsDummy ()», чтобы определить, как его визуализировать.В шаблоне jQuery мы отрисовываем строку по-разному, основываясь на этом свойстве:

<script id="template" type="text/x-jquery-tmpl">
    {{if IsDummy()}}
        <td colspan="5" style="background-color:yellow; text-align: center">
            Entries starting with ${StartLetter}
        </td>
    {{else}}
        <td>${Id}</td><td>${Name}</td>...
    {{/if}}
</script>

Однако при попытке сортировки это приведет к разрыву таблиц данных не позднее, поскольку он сохраняет все td-ы в массиве с 1 dim иполагается на арифметику для получения правильной ячейки на основе номера строки и столбца или в кратких выражениях: все строки должны иметь одинаковое количество столбцов.

Это тот момент, когда я остановился и понял, насколько неловко все эти хакибудут, и что должен быть лучший подход, или я мог бы полностью упустить возможность данных.- хотя я боюсь, что это не так ...

Кто-нибудь может дать мне несколько советов здесь?

Обновление: Тем временем я обнаружил еще больше проблем:

  • Если в массиве нет «реальных» записей, я хочу, чтобы в datatable отображалось «данные не найдены», т.е. мне нужно динамически удалять фиктивный элемент, если все остальные элементы удаленыи добавьте его обратно, как только будет добавлена ​​новая «реальная» запись.
  • В сводке таблиц данных указано «Отображение 6 из 6 записей», если существует 5 «реальных» записей из-за фиктивной записи ...

Ответы [ 3 ]

3 голосов
/ 07 марта 2012

Задержка в игре, но теперь есть поддержка заголовка псевдо-раздела: http://datatables.net/release-datatables/examples/advanced_init/row_grouping.html

1 голос
/ 03 июня 2014

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

1 голос
/ 19 января 2012

Насколько я знаю, у colspan в datatables есть проблемы.Это не было поддержано, и я не могу, если это поддерживается сейчас, посмотрите на этот ответ

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

...