Непрокручиваемые колонки в jqGrid (Frozen columns)

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Группировка данных в jqGrid».
Предыдущая статья — «TreeGrid Adjacency Model в jqGrid».

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

Настройка

Сначала нужно настроить колонки, которые должны быть непрокручиваемыми. Это делается с помощью свойства frozen:true в colModel. Пример настройки:

После этого нужно вызвать метод, включающий непрокручиваемые колонки:

Колонки со свойством frozen должны идти одна за другой. Если в последовательности колонок одно свойство frozen пропущено, то будет использоваться последняя позиция, удовлетворяющая непрерывности.

Код ниже будет блокировать от прокрутки только одну колонку, несмотря на то что третья колонка тоже установлена в frozen:

Уничтожение

Можно уничтожить frozenColumns в таблице с помощью метода destroyFrozenColumns. Этот метод восстанавливает настройку таблицы, которая была до вызова setupFrozenColums.

Динамическая настройка

Можно менять непрокручиваемые колонки динамически. В этом случае нужно вызвать сначала destroyFrozenColumns, затем установить новые свойства frozen и снова вызвать setFrozenColumns.

Пример:

На текущий момент нужно вызвать trigger('reloadGrid') , чтобы обновить непрокручиваемые колонки. Позже это будет изменено на более лёгкий способ.

Ограничения

Следующие ограничения указывают на случаи, когда непрокручиваемые колонки нельзя использовать:

  • Когда включёно TreeGrid (иерархические данные).
  • Когда включено SubGrid (подтаблицы).
  • Когда включён режим редактирования в ячейке.
  • Когда используется режим редактирования строки — непрокручиваемые колонки не могут редактироваться.
  • Когда свойство scroll таблицы установлено в true или 1.
  • Когда свойство sortable равно true или равно функции.
  • Когда включена группировка данных.
  • Когда включена строка подвала (footerrow).

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Группировка данных в jqGrid».
Предыдущая статья — «TreeGrid Adjacency Model в jqGrid».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *