Вопрос по jqgrid – Есть ли способ восстановить некоторые функции предыдущей версии jqGrid?
Недавно мы обновили нашу jqgrid с 3.8.2 до 4.3.1, потому что мы хотели иметь возможность использовать шаблоны поиска, а также убедиться, что у нас есть все доступные исправления ошибок. Но есть две вещи, которые изменились, и я хотел бы посмотреть, смогу ли я заставить новую версию вести себя как предыдущая версия.
Мы использовали расширенный поиск, и наш сайт был настроен на постоянное отображение диалогового окна поиска над сеткой.
In the previous version, we could add a new filter by selecting a plus button next to an existing filter. Using this + button would cause the newly created filter to have the same options as the existing filter.
two separate questions все вместе. Это затрудняет поиск информации другими пользователями. Лучше разделить текущие вопросы на две части.
Тем не менее, в отношении первой части вашего вопроса я хочу просто описать, что поведение старого поискового диалога было так из-за использованияjQuery.clone, В функции было много ошибок, которые долгое время не исправлялись. Поэтому в некоторых ситуациях поисковый диалог работал неправильно. В новой реализации Диалога поиска никто не использовалjQuery.clone явно как единственный безопасный способ решения проблем. Поведение, которое вы пропустили в новой версии диалога поиска, былоby default реализованы. В новом диалоге поиска соответствующий код не существует, но вы можете написать его самостоятельно. В основном вам нужно написать свой код вafterRedraw Перезвоните.
Вы должны принять во внимание, что поддержка jqGrid теперь мощнаяmultipleGroup: true
вариант. Так что вам нужно, вероятно, скопировать выборки из других элементов управленияof the same group:
О вашем втором вопросе:
Ответ содержитдемо которые описывают идею, чтобы отвязатьclick
, Вероятно, лучше было бы отменить привязку или скрыть & quot; Удалить правило & quot; кнопка только если это единственная кнопка.
Если вы не используетеmultipleGroup: true
вариант вы можете попробовать следующее
$.extend($.jgrid.search, {
multipleSearch: true,
overlay: 0,
afterRedraw: function () {
// don't permit to remove the last rule
$('input.delete-rule:first',this).unbind('click').hide();
}
});
В случае использованияmultipleGroup: true
тем лучше будет другой код
$.extend($.jgrid.search, {
multipleSearch: true,
multipleGroup: true,
overlay: 0,
afterRedraw: function () {
// don't permit to remove the last rule
var $delRules = $('input.delete-rule', this);
if ($delRules.length === 1) {
$delRules.unbind('click').hide();
}
}
});
grid.locale-pl.js
?