У меня есть JqGrid, и я хочу автоматически переключать отображение последней отредактированной строки/группы при возврате к представлению/странице, содержащей сетку.
Процесс у меня такой
- Запишите последний отредактированный OrderId в переменную сеанса после завершения добавления/редактирования.
- Передайте это в представление, где хранится в скрытом элементе формы
Что я хотел бы сделать сейчас, так это использовать этот «id», чтобы найти ближайшую (в обратном порядке) строку таблицы группировки, которую я затем могу использовать для переключения отображения.
Для OrderId легко идентифицировать, так как атрибут id "" соответствует OrderId.
Однако элемент группировки имеет индекс 0 и нумеруется только в соответствии с его положением в сетке, т. е. он не относится к OrderId или OrderLinkId.
24/10/2012 В приведенный ниже пример внесены поправки, демонстрирующие, что элементы заголовка группы закрываются перед отдельными элементами Order, т.е. братья и сестры не родитель/ребенок
<tr id="clientOrderGridghead_0_6" class="ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0" role="row">
.....Group Header 6 Content.....
</tr>
<tr id="403" class="ui-widget-content jqgrow ui-row-ltr" style="" tabindex="-1" role="row">
</tr>
<tr id="414" class="ui-widget-content jqgrow ui-row-ltr" style="" tabindex="-1" role="row">
</tr>
<tr id="418" class="ui-widget-content jqgrow ui-row-ltr" style="" tabindex="-1" role="row">
</tr>
<tr id="clientOrderGridghead_0_7" class="ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0" role="row">
......Group Header 7 Content......
</tr>
В приведенном выше примере показан верхний элемент, который действует как заголовок группы, а последующие 3 элемента являются строками записей для связанных заказов.
Элемент заголовка всегда имеет класс
class="ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0"
Мне удалось успешно выполнить переключение, жестко закодировав идентификатор элемента группы следующим образом.
jQuery('#clientOrderGrid').jqGrid('groupingToggle','clientOrderGridghead_0_6');
Но сейчас я изо всех сил пытаюсь получить идентификатор, необходимый для подключения к вызову groupingToggle и сделать его динамическим.
Я пробовал следующее
var groupId = $('#' + lastOrderId).closest('tr').find('.ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0').attr('id');
После просмотра примера здесь Использование имени класса в jQuery .closest()
Но но это возвращает undefined.
Любые указатели с благодарностью.
24.10.2012 Еще одна попытка
var groupId = $('#' + lastOrderId).closest('tbody').find('.ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0').attr('id');
Но до сих пор нет радости