2015-09-01 5 views
0

Я использую jQrid версию 3.8.1 с субгридами. В моем случае для пользователя не имеет смысла расширять подзаголовок, когда он вводит новую строку. Поскольку родительская строка еще не существует, для субграда ничего не видно. Итак, каков наилучший способ отключить или удалить кнопку расширения субграда (+ кнопка) только для создаваемой строки?Как удалить кнопку расширения подсетей jqgrid при создании новой строки

Я видел this post, который мог бы работать, но кажется немного взломанным. Есть ли более поддерживаемый метод?

ответ

1

Я уверен, что правильно понял ваш сценарий. Я полагаю, что вы добавляете строку, а затем хотите скрыть кнопку «+» во время встроенного редактирования новой добавленной строки.

Точная реализация зависит от того, как вы добавляете строку и какую форму встроенного редактирования вы используете. В любом случае я бы предложил вам , чтобы скрыть кнопку «+» в начале встроенного редактирования и показать ее после того, как строка может иметь информацию о субграде. Вы можете использовать следующий код для скрытия значка «+»

$("#" + 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, вы можете удалить значок «+», установив пустую строку или &nbsp; в качестве содержимого HTML td.ui-sgcollapsed вызов строки. Кроме того, можно отвязать событие click из ячейки. См. the old answer для соответствующего примера кода.

+0

Спасибо @Oleg. Это в основном то, что я хотел знать. Я не был уверен, что использование jquery для непосредственного управления DOM - это путь, или если jqgrid имеет прямую поддержку для скрытия/отображения значка. – d512

+0

@ user1334007: Добро пожаловать! – Oleg