Как обновить значение данных в jqgrid

Я пытаюсь постоянно обновить ячейку в 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, предупреждение (j) вернет 30, несмотря на то, сколько элементов я загрузил локально. Однако, если я обновлю график, j будет правильным числом. Почему поведение getGridParam в каждом случае разное?

14
задан WildBill 6 February 2012 в 18:05
поделиться