Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   jgGrid - getRowData() возвращает пустой объект (https://javascript.ru/forum/library-toolkit-framework/63345-jggrid-getrowdata-vozvrashhaet-pustojj-obekt.html)

edd1977 02.06.2016 10:03

jgGrid - getRowData() возвращает пустой объект
 
Помогите разобраться, если верить описанию, то getRowData(rowId|ничего) должна возвращать объект со значениями найденной строки (имя свойства: значение) или массив таких объектов для всех строк. Однако, в моем примере, даже вызов ф-ии без параметра, дает пустой объект. Что делаю не так:
...
datatype: "json",
treeGrid: true,
ExpandColumn: "Name",
treeGridModel: 'nested',
colNames: ['Наименование', 'Имя группы', 'Id родителя', 'Ссылка на справочник'],
colModel: [
{ name: 'Id', index: 'Id', width: 100, sortable: true, key: true},
{ name: 'Name', index: 'Name', width: 200, sortable: true, editable: true },
{ name: 'ParentId', index: 'ParentId', width: 100, sortable: true, hidden: true },
{ name: 'Reference', index: 'Reference', width: 200, sortable: true, hidden: true }
],
...
ondblClickRow: function (rowId, iRow, iCol, e) { // по двойному нажатию будем менять содержимое правой части.

var rowD = $('tblTreeRefs').jqGrid("getRowData", rowId);
...

Да, в примере дерево, модель nested, все проиндексировано, все отображается правильно. Может данная функция не работает с деревьями? Такой информации не нашел. Сверял значения параметра roeId со значением в колонке Id (оно ключ) - все передается точно.

edd1977 02.06.2016 10:17

Тему можно удалять!!!

Ответ прост - не указан знак '#' в селекторе. Все заработало.

edd1977 02.06.2016 10:21

Пока тема висит, такой вопрос. Начал пробовать другие вариант, например через свойство data таблицы и метода массива filter().

rowD = $('#tblTreeRefs').getGridParam("data").filter(func tion (item) {
return item.Id == rowId;
});
var referenceRef = "";
if (rowD.length > 0)
{
referenceRef = rowD[0].Reference;
}

Результат аналогичный, в принципе, пойдет такой вариант для поиска данных в массиве по какому либо из полей?


Часовой пояс GMT +3, время: 16:54.