Я использую jqGrid 1.5.2, и у меня есть сетка в качестве подсетки, и родитель, и подсетка находятся в режиме редактирования ячейки без возможности сортировки.
В событии loadComplete родительской сетки, я успешноудалены некоторые подсетки, которые зависели от данных строки следующим образом:
loadComplete: function() {
var dataIds = $('#mygrid1').jqGrid('getDataIDs');
for (var i = 0;i < dataIds.length; i++) {
var data = $("#mygrid1").jqGrid('getRowData', dataIds[i]);
if (data[i].hasChild='N') {
var grid = $("#mygrid1");
$("#"+dataIds[i]+" td.sgcollapsed",grid[0]).unbind('click').html('');
}
}
}
Проблема в том, что
data [i] .hasChild может быть изменен пользователем народительская сетка, поэтому я хочу, чтобы подсетка снова могла быть расширена для строки.
Я пытался
$("#"+rowid+" td.sgcollapsed",grid[0]).bind('click').html('+');
связать событие click с элементом;однако, это не работает, даже знак «+» прикреплен обратно к столбцу подсетки, но событие щелчка не запускается ...
Может кто-нибудь дать мне какую-либо идею, решение или альтернативу для моего подхода,пожалуйста?Спасибо.
Обновлено 1/6/2012: После целодневных раскопок и «попыток и ошибок» я нашел способ приблизиться к успеху и кодировки, как показано ниже:
Сначала, перед тем как удалить привязку каждой строки, я попытался сохранить «данные и данные о событиях» с .clone (true, true) в массиве.
currChild[rowid] = $("#"+rowid+"td.sgcollapsed",grid[0]).clone(true,true);
$("#"+rowid+" td.sgcollapsed",grid[0]).unbind('click').html('');
Затем я заменяю клон обратно на элемент на
$("#"+rowid+" td.sgcollapsed",grid[0]).replaceWith(currChild[rowid]);
Я был счастлив, когда увидел, что подсетка, присоединенная к строке при первом изменении;затем я попытался удалить его, отсоединив его снова, и, похоже, это не проблема.
Однако при третьем изменении в той же строке и попытке вернуть подсетку обратно в строку, столбец подсетки строкибыл потерян и имеет смещение столбца влево в этой строке!
Я протестировал каждую строку, и они ведут себя так же, как и строка, потерявшая столбец и сдвинутая влево при третьем изменении.
Сейчас поздний вечер, сплю сначала;с нетерпением жду любых предложений, и я могу двигаться дальше в этом.Спасибо.