Я пытаюсь постоянно обновлять ячейку в jqgrid при загрузке.Я знаю, что могу использовать setCell
, но это только обновляет значение для этой страницы.Если я вернусь на страницу, если я не буду явно выполнять еще один setCell
для ячейки, будет показано старое значение.Я также пробовал setRowData, но, похоже, делает то же самое.Я использую loadonce
, так как мой подход состоит в том, чтобы 1) загрузить данные 2) изменить несколько значений данных на основе некоторых критериев 3) показать измененные значения.Поскольку я использую loadonce
, не должен ли быть способ изменить ячейку навсегда в этом сеансе?
ОБНОВЛЕНИЕ:
Ввод кода, который не выдает ошибку, ноне удается перебрать все данные:
var set = 0;
....
gridComplete: function(data){
setData();
},
....
beforeRefresh: function(data){
set = 0;
},
....
function setData(){
if(set == 1) return;
... //create hash up here
var dataArray = jQuery("#grid").jqGrid('getGridParam', 'data');
var j = 1;
for (var rows in dataArray) {
var key = dataArray[rows].name;
dataArray[rows].level = hashTable[key];
j++;
}
alert(j);
}
Это не циклически перебирает все элементы в массиве, которые загружаются локально.Например, если размер страницы установлен на 30, alert(j)
возвращает 30, несмотря на то, сколько элементов я загрузил локально.Однако, если я обновлю график, j будет правильным числом.Почему поведение getGridParam отличается в каждом случае?