Список методов экземпляров jqGrid

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

Следующая статья — «Общие функции и свойства jqGrid».
Предыдущая статья — «Настройка jqGrid на использование только нового API».

Метод: addJSONData
Параметры: data
Возвращает: ничего
Добавляет данные в таблицу. Этот метод должен использоваться следующим образом: например, мы имеем данные с какого-то веб-сервиса (jsonresponse), тогда:

заполнит данными таблицу. Разумеется, данные для myjsongrid могут быть изменены до передачи в addJSONData.

Метод: addRowData
Параметры: rowid, data, position, srcrowid
Возвращает: Возвращает true при успешном выполнении, иначе — false.
Добавляет новую строку с id=rowid, содержащую данные data (объект), в указанную позицию position ( "first"  — в начало таблицы, "last" — в конец таблицы, или перед ( "before" ) или после ( "after" ) строки, указанной в srcrowid). Синтаксис объекта с данными такой: {name1:value1,name2: value2…} , где name — это name колонки в colModel, value — значение ячейки для этой строки и этой колонки.
Этот метод может добавлять несколько строк за один вызов. В этом случае параметр data должен быть массивом вида:
[{name1:value1,name2: value2…}, {name1:value1,name2: value2…} ], и первый параметр rowid должен содержать name из data, в котором содержатся id строк. Важно что name из rowid в этом случае был частью colModel.

Метод: addXmlData
Параметры: data
Возвращает: ничего
Добавляет данные в таблицу. Этот метод должен использоваться следующим образом: предположим, что мы имеем данные с какого-либо веб-сервиса (xmlresponse), тогда:

добавит данные в таблицу. И конечно данные в xmlresponse могут быть изменены перед передачей в addXmlData.

Метод: bindKeys
Параметры: {onEnter: null, onSpace: null, onLeftKey: null, onRightKey: null, scrollingRows : true}
Возвращает: объект jqGrid
После вызова метод делает возможным выделение строки с помощью клавиш «стрелка вверх» и «стрелка вниз», то есть пролистывать таблицу с помощью клавиатуры. Также можно вызывать дополнительные события при выделении строки, нажатии клавиши «ввод», «пробел», «стрелка влево» и «стрелка вправо». В обработчики этих событий передаётся id выбранной строки в качестве параметра.

Метод: clearGridData
Параметры: clearfooter
Возвращает: объект jqGrid
Очищает таблицу от данных. Если параметр clearfooter равен true, то метод также удаляет данные, расположенные в строке под таблицей (подвал или footer).

Метод: delRowData
Параметры: rowid
Возвращает: true при успешном выполнении, иначе — false.
Удаляет строку с id = rowid. Эта операция не удаляет данные с сервера.

Метод: editRow
Параметры: rowid, keys
Возвращает: ничего?
Редактирует строку с id = rowid. Параметр keys содержит логическое значение, указывающее, использовать ли клавишу «ввод» для подтверждения новых данных и клавишу «Esc» для отмены редактирования или нет.

Метод: footerData
Параметры: action, data, format
Возвращает: объект jqGrid
Этот метод возвращает или устанавливает данные в подвале (строка под таблицей, footer). Смотрите footerrow в статье «Свойства jqGrid».
action — может быть 'get' или 'set' . По умолчанию — 'get'. Значение 'get' возвращает объект вида «имя:значение», где имя — это name из colModel. Это возвращает данные из подвала (footer). Остальные два параметра не имеют смысла для этого случая.
'set' вставляет массив данных (объект) в подвал (footer). Объект должен быть вида «имя:значение», где имя — это name из colModel.
format — по умолчанию равен true. Это указывает методу использовать formatter (если установлен в colModel) при установке новых значений. Значение false отключает использование formatter-а.

Метод: getCell
Параметры: rowid, iCol
Возвращает: содержимое ячейки
Возвращает содержимое ячейки в строке с id = rowid и колонкой iCol, где iCol может быть индексом колонки или именем (name) из colModel.
Не используйте этот метод, когда вы находитесь в режиме редактирования строки или ячейки. Это вернёт содержимое ячейки, а не настоящее значение элемента редактирования.

Метод: getCol
Параметры: colname, returntype, mathoperation
Возвращает: array[] или значение
Этот метод возвращает массив со значениями из колонки. Параметр colname может быть индексом колонки или именем (name) из colModel. Параметр returntype определяет тип возвращаемого массива. Если установлен в false (по умолчанию), то массив содержит только значения.
Если установлен в true, то массив содержит множество объектов. Объект определяется как {id:rowid, value:cellvalue}, где rowid — это id строки и cellvalue — это значение в ячейке. Например, этот результат может быть: [{id:1,value:1},{id:2,value:2}…].
Корректные значения для mathoperation это: 'sum' , 'avg' , 'count'. Если этот параметр указан и корректен, то возвращается одно значение, являющееся результатом применения этой операции над всеми значениями в колонке. Если параметр некорректен, то возвращается пустой массив.

Метод: getDataIDs
Параметры: нет
Возвращает: array[]
Этот метод возвращает массив ключей (id) в текущем представлении (view) таблицы. Возвращает пустой массив, если нет данных.

Метод: getGridParam
Параметр: name
Возвращает: разные значения
Возвращает значение запрошенного параметра таблицы. Параметр name — это имя свойства jqGrid. Если name не указан, то все значения возвращаются. Смотрите также статью «Свойства jqGrid».

Метод: getInd
Параметры: rowid, rowcontent
Возвращает: разные значения
Этот метод возвращает индекс строки в таблице с id = rowid, если параметр rowcontent установлен в false (по умолчанию). Если rowcontent равен true, то возвращается весь объект строки. Если строку с id=rowid не удаётся найти, то функция возвращает false.

Метод: getLocalRow
Параметр: rowid
Возвращает: объект строки
Возвращает строку с данными из локального массива, хранящегося в свойстве data при datatype равном 'local' .

Метод: getRowData
Параметры: rowid или ничего
Возвращает: array{}
Возвращает массив с данными из строки с id = rowid. Возвращаемый массив имеет вид «имя:значение», где имя — это name из colModel, а значение — это значение из колонки в этой строке. Возвращает пустой массив, если строка с id = rowid не нашлась.
1. Не используйте этот метод, когда вы в режиме редактирования строки или ячейки. Это вернёт содержимое ячейки, а не реальное значение элемента ввода.
2. Производительность — его проблема. Не используйте его внутри циклов for и while. (При вызове этого метода он пересчитывает данные строк один раз.)
Если rowid не указан, то метод возвращает все данные из таблицы в массиве.

Метод: hideCol
Параметры: colname или [colnames]
Возвращает: объект jqGrid
Если передано одно имя колонки, то скрывает эту колонку. Если передан массив имён колонок ["name1","name2"], то скрывает колонки с этими именами ( 'name1' и 'name2'  в примере). Имена колонок в colname или colnames должны быть правильными именами из colModel.
Примечание: ширина таблицы не меняется.

Метод: remapColumns
Параметры: permutation, updateCells, keepHeader
Возвращает: ничего
Переупорядочивает колонки в таблице на основе массива permutation. Индексы в массиве permutation — это текущий порядок, значения — новый порядок. Например, если массив имеет значения [1,0,2], то после вызова этого метода первая колонка станет второй. Параметр updateCells, если установлен в true, переупорядочивает данные ячеек. Параметр keepHeader, если установлен в true, переупорядочивает данные кроме ячеек с заголовками.

Метод: resetSelection
Параметры: нет
Возвращает: объект jqGrid
Сбрасывает выделение со строк. Работает также в режиме множественной выборки multiselect.

Метод: restoreRow
Параметры: rowid
Возвращает: ничего?
Восстанавливает данные в исходные значения, которые были до редактирования строки с id = rowid.

Метод: saveRow
Параметры: rowid, callback, url, extraparams
Возвращает: ничего?
Сохраняет строку с id = rowid, после того, как она была открыта на редактирование с помощью метода editRow. Параметр callback — это функция, которая будет вызвана после завершения сохранения. Функция принимает в качестве параметра объект XMLHttpRequest с ответом сервера. Параметр url — это URL, используемый для отправки значений. Если указан, то это значение переопределяет значение, указанное в свойстве editurl. Параметр extraparas — это дополнительные параметры, отправляемые на сервер. Данные отправляются в виде id=rowid&name=value…, где имя параметра — name из colModel.

Метод: setCaption
Параметр: caption
Возвращает: объект jqGrid
Устанавливает новый заголовок таблицы. Если панель заголовка скрыта, то она показывается.

Метод: setCell
Параметры: rowid, colname, data, class, properties, forceup
Возвращает: объект jqGrid
Этот метод меняет содержимое указанной ячейки и может устанавливать свойства class или style. Здесь:
rowid — id строки,
colname — имя колонки (этот параметр может быть числом (индекс колонки с 0))
data — содержимое, которое нужно вставить в ячейку. Если пустая строка, то содержимое не меняется.
class — если строка, то мы добавляем class к ячейке с помощью addClass; если массив, то мы устанавливаем новые свойства css.
properties — множество атрибутов ячейки,
forceup — если параметр равен true, то мы осуществляем обновление ячейки, несмотря на то что значение пусто.

Метод: setGridParam
Параметры: объект
Возвращает: объект jqGrid
Устанавливает значение свойства таблицы. Обратите внимание, что для того чтобы некоторые параметры произвели эффект, должен быть вызван trigger("reloadGrid"). С помощью этого метода можно переопределять обработчики событий. Имя (из пары «имя:значение») — это имя свойства. Смотрите список свойств в статье «Свойства jqGrid».

Метод: setGridHeight
Параметры: new_height
Возвращает: объект jqGrid
Устанавливает новую высоту таблицы. Обратите внимание, что высота устанавливается только для ячеек таблицы, а не для самой таблицы. Параметр new_height может быт ьв пикселях или 'auto'.

Метод: setGridWidth
Параметры: new_width, shrink
Возвращает: объект jqGrid
Устанавливает новую ширину таблицы. Параметры:
new_width — это новая ширина в пикселях.
shrink — (true or false) имеет то же поведение, что и shrinkToFit — смотрите «Свойства jqGrid». Если этот параметр не установлен, то мы берём значение из shrinkToFit.

Метод: setLabel
Параметры: colname, data, class, properties
Возвращает: объект jqGrid
Устанавливает новую надпись в заголовке колонки. Также может устанавливать атрибуты и классы. Параметры::
colname — имя колонки из colModel (этот параметр может быть числом (индекс колонки с 0))
data — содержимое, которое нужно вставить в надпись. Если пустая строка, то содержимое надписи в заголовке не меняется.
class — если строка, то мы добавляем class к надписи с помощью addClass. Если массив, то мы устанавливаем новые свойства css.
properties — устанавливает атрибуты в заголовке надписи.

Метод: setRowData
Параметры: rowid, data, cssprop
Возвращает: true в случае успешного выполнения, иначе — false.
Обновляет значения (используя массив data) в строке с id = rowid. Синтаксис массива с данными data такой: {name1:value1,name2: value2}, где имя — это name колонки из colModel, и значение — новое значение.
Если параметр cssprop является строкой, то мы используем addClass для добавления классов к строке. Если параметр является объектом, то мы добавляем свойства css. Заметьте, что мы можем установить свойства и классы без данных, в этом случае мы должны передать данные data = false.
Не используйте этот метод, когда вы находитесь в режиме редактирования строки или ячейки. Это установит новое содержимое и заменит элементы ввода.

Метод: setSelection
Параметры: rowid, onselectrow
Возвращает: объект jqGrid
Переключает выделение строки с id = rowid. Если onselectrow равен true (по умолчанию), то возникает событие onSelectRow, иначе — нет.

Метод: showCol
Параметры: colname
Возвращает: объект jqGrid
Показывает колонку с указанным именем. Если colname является строкой, то мы включаем показ только этой колонки. Если colname является массивом вида ["name1","name2"], то колонки с именами 'name1' и 'name2' будут показаны. Имена колонок в colname должны быть корректными name из colModel. Ширина не меняется.

Метод: trigger("reloadGrid")
Параметры: нет
Возвращает: ничего
Перезагружает таблицу с новыми настройками. Это означает, что новый запрос отправляется на сервер, если datatype равен 'xml' или 'json' . Этот метод должен быть применён к уже построенной таблице. Этот метод не меняет информацию в заголовке, что означает, что любые изменения в colModel не будут применены. Вы должны использовать GridUnload, чтобы перезагрузить информацию из другого colModel. ЭТО РАБОТАЕТ ТОЛЬКО В СЛУЧАЕ loadonce: false !!!

Метод: unbindKeys
Параметры: нет
Возвращает: объект jqGrid
Отвязывает события, привязанные в методе bindKeys.

Метод: updateColumns
Параметры: нет
Возвращает: ничего
Это синхронизирует ширину заголовков с данными. Полезно при использовании с drag and drop. Этот метод должен использоваться так:

 

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

Следующая статья — «Общие функции и свойства jqGrid».
Предыдущая статья — «Настройка jqGrid на использование только нового API».

Список методов экземпляров jqGrid: 3 комментария

  1. $(«#gr_v1_params»).jqGrid(‘setCell’,_IDs[i],’curval’, spArray[1], ‘class1’);
    $(«#gr_v1_params»).jqGrid(‘setCell’,_IDs[i],’curval’, spArray[1], ‘class2’);

    В результате класс добавляется. Подскажите, как его можно менять, а не добавлять?

  2. Здравствуйте, вот какая проблема.
    jQuery(‘#oGrid’).jqGrid(‘setSelection’,25); отлично работает, но в гриде видно только допустим 15 записей (я использую параметр rowNum: -1) и 25 строка не видна. При прокрутке в низ видим, что 25 я строка выделена. Но как сделать чтобы 25я строка не только была выделена но и была бы видна (типа программно прокрутить)?
    Спасибо.

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

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