Я уверен, что правильно понял ваш сценарий. Я полагаю, что вы добавляете строку, а затем хотите скрыть кнопку «+» во время встроенного редактирования новой добавленной строки.
Точная реализация зависит от того, как вы добавляете строку и какую форму встроенного редактирования вы используете. В любом случае я бы предложил вам , чтобы скрыть кнопку «+» в начале встроенного редактирования и показать ее после того, как строка может иметь информацию о субграде. Вы можете использовать следующий код для скрытия значка «+»
$("#" + rowid).find("td.ui-sgcollapsed>a").hide();
Кроме того, вы должны предотвратить расширение подсеточного, если пользователь этого нажмите на кнопку «подсетки» клетку (содержит скрытый «+») , Вы можете сделать это путем удаления sgcollapsed
класса (или sgexpanded
класса):
$("#" + rowid).find("td.ui-sgcollapsed").removeClass("sgcollapsed");
Чтобы восстановить исходное состояние (после сохранения строки редактирования), вам необходимо показать значок ($("#" + rowid).find("td.ui-sgcollapsed>a").show()
) и добавить класс sgcollapsed
назад к <td>
элемент ($("#" + rowid).find("td.ui-sgcollapsed").addClass("sgcollapsed")
).
Если вы уверены, что в какой-либо строке нет sbgrid, вы можете удалить значок «+», установив пустую строку или
в качестве содержимого HTML td.ui-sgcollapsed
вызов строки. Кроме того, можно отвязать событие click
из ячейки. См. the old answer для соответствующего примера кода.
Спасибо @Oleg. Это в основном то, что я хотел знать. Я не был уверен, что использование jquery для непосредственного управления DOM - это путь, или если jqgrid имеет прямую поддержку для скрытия/отображения значка. – d512
@ user1334007: Добро пожаловать! – Oleg