Перейти к контенту

Модификации IPB на заказ

  • записей
    28
  • комментариев
    165
  • просмотра
    148 302

JQ: Рендеринг грида


WildRAID

2 272 просмотра

Рендеринг грида

В шаблоне tpl грид создается следующим образом (на примере jq_return):

 

<script>
{$jq_loader->render('jq_return')}
{literal}
autowidth: true,
height: 430,
rowNum: 50,
caption: 'Возврат средств',
scroll: 1,
gridComplete: function(){
	gridHighlight('#jq_return');
}
});
$grid.jqGrid('navGrid', pager,{add: false, edit: false, del: true, deltext:'Удалить', refresh:true, refreshtext: 'Обновить', search:false});

 

Объект $jq_loader - это "фабрика" гридов. Она всегда присутствует в темплейтах.

Метод render подгружает класс грида из текущей секции (?section=xxx) с именем, указанным в аргументе, и рендерит необходимый HTML-код и "верхушку" JS-объекта.

 

В нее входит:

  • colModel
  • colNames
  • pager
  • url
  • editurl
  • cellurl

Это то, что можно сгенерировать автоматически.

 

Также определяются переменные:

 

$grid - объект jQuery с последним созданным гридом. Специально для любителей копи-пасты.) Если гридов несколько, то эту переменную можно использовать на этапе инициализации кнопочек и тулбаров, но нельзя использовать в событиях. Если грид один - можно использовать везде.

 

$jq_return - переменная с именем, аналогичным id грида. Используется в тех случаях, когда гридов несколько.

 

Не надо писать селекторы по сто раз! Пользуйтесь переменными.

 

Несколько однотипных гридов

Если грид один и тот же должен повторяться несколько раз на одном экране, следует использовать второй необязательный аргумент функции render - $suffix.

 

Например:

{$jq_loader->render('jq_cats', 1)}
...
{$jq_loader->render('jq_cats', 2)}

 

Будет создано два грида - $jq_cats1 и $jq_cats2. Но они будут работать с единым классом jq_cats.

0 комментариев


Рекомендуемые комментарии

Комментариев для отображения не найдено.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.