У меня есть сетка с 3-мя столбцами, выглядит следующим образом:jqgrid получить строки в сетке после того, как перемещать строки
col1 col2 col_sortorder
AAAA 1000 1
AAAA 1002 2
AAAA 1003 3
Я сделал это возможно, что пользователь может изменить sortoder в сетке с помощью мыши. Например переместить вторую строку на вершине, так что сетка выглядит следующим образом:
col1 col2 col_sortorder
AAAA 1002 2
AAAA 1000 1
AAAA 1003 3
Я достиг этого с:
jQuery("#list").jqGrid('sortableRows');
jQuery("#list").bind('sortstop', function() { fun_sort(event) });
Теперь я хочу, чтобы обновить свою базу данных с новым значением для col_sortorder. Функция fun_sort() запускается с помощью sortstop-event правильно. Мое намерение было просто прочитать все данные из сети и использовать forloop-индекс в качестве нового значения для col_sortorder, но когда я прочитал мою сетку с помощью:
var allRowsInGrid = $('#list').jqGrid('getGridParam','data');
for (i = 0 ; i <= allRowsInGrid.length -1; i++){
var col1 = allRowsInGrid[i].col1;
var col2 = allRowsInGrid[i].col1;
var col_sortorder = i+1; //new value for sortorder
// call ajax to update the database
}
Функция getGridParam всегда возвращает начальный порядок сетки, а не порядок после того, как я переместил строку внутри сетки. Может ли кто-нибудь сказать мне, как я могу это сделать?
Большое спасибо, Олег, это именно то, что мне нужно :-) – user3387175
@ user3387175: Добро пожаловать! Вы должны ["принять"] (http://meta.stackexchange.com/a/5235/147495) ответ, если ваша проблема будет решена в настоящее время. – Oleg