Обновлено У меня проблемы с точечным вводом данных с помощью пользовательского средства форматирования.
Я использую пользовательский форматировщик jqgrid.
function myformatter ( cellvalue, options, rowObject )
{
....
Теперь мой пользовательский модуль форматирования, кажется, всегда указывает на последнюю строку сетки. На самом деле, если я получаю, например, rowObject[0]
, у меня есть значение [столбец 0, последняя строка] моей сетки. Почему?
Данные сетки правильно скомпилированы, и я уже проверил содержимое объекта Json.
Вот мой пользовательский форматер:
......
{ name: 'act', index: 'Detail', width: 50, sortable: false, search: false,
formatter: function (cellvalue, options, rowObject) {
i = options.rowId;
var tst = '<a class="nau" name="nau" onClick="alert(i);return false;" href="#"></a>';
var det = '<a class="det" name="det" onClick="alert(this.name);return false;" href="#"></a>';
return tst + det;
}
}
....
Обновить
Я заметил, что средство форматирования отлично работает, если я возвращаю нужную строку напрямую (например, return rowObject[0]
работает нормально), в то время как у меня возникают проблемы при использовании переменных. Более того, если я попытаюсь выполнить onclick=alert(rowObject[0])
, я получу исключение, говорящее, что rowObject
не существует. Я думаю, что проблема в этом: если я установлю t = rowObject[0]
, форматировщик будет использовать t
как статическую переменную, а не обновлять ее для каждой строки. То же самое, если я установлю i = options.rowId
, где i
останется статичным...ПОЧЕМУ? Что я должен делать?