Обновлено У меня проблемы с отправкой данных с помощью пользовательского форматирования.Пользовательский форматтер jqgrid: пользовательский форматировщик всегда возвращает последнюю строку сетки. Зачем?
Я использую форматировщик 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;
}
}
....
Update
Я заметил, что форматировщик работает отлично, если я вернуть строку, я хочу непосредственно (например return rowObject[0]
работает отлично), в то время как я есть проблемы , когда я использую переменные. Более того, если я попытаюсь сделать onclick=alert(rowObject[0])
, я получаю исключение, поскольку rowObject
не существует. Я думаю, что это проблема: если я установил t = rowObject[0]
, то форматировщик использует t
как статическую переменную вместо обновления для каждой строки. То же самое, если я установил i = options.rowId
, где i
остается статическим ... ПОЧЕМУ? Что я должен делать?
THX Олег. Уже проверен результат JSON, и все в порядке. У меня есть разные идентификаторы для каждой строки ... но теперь я только что обнаружил, что пользовательский форматирующий элемент всегда указывает на последнюю строку сетки. На самом деле, если я получаю rowObject [0], например, у меня есть значение столбца 0, последней строки моей сетки! Это так странно. Я тестировал раньше, и у меня были разные значения для rowObject [0] ... – Larry
Я изменил вопрос, потому что options.rowId отлично работает. Я старался, чтобы это было проблемой этого свойства, потому что, как чистое совпадение, значение было 1. Таким образом, проблема другая ... THX – Larry
@Larry: Если бы вы включили тестовые данные JSON и определение jqGrid, которые можно использовать для воспроизведения ваша проблема я постараюсь решить проблему. – Oleg