Можно ли остановить выбранную и/или выделенную jqgrid ряд (ы)?
-
23-09-2019 - |
Вопрос
Я посмотрел на документация Но я не смог найти ответ. Есть ли способ предотвратить выделение ряда при выборе? Это или даже способ остановить выбранную строку вообще. Мне нравится вариант «Hoverrows: True», но в идеале я хотел бы остановить выбрать ряд на клике.
Спасибо,
Обновлять:Я смог «взломать» реализовать что -то, что кажется временным исправлением. Мне это совсем не нравится, и это было бы как лучшее решение, если есть ...
Я обнаружил, что если я передам вариант
onSelectRow: function(rowid, status) {
$('#'+rowid).removeClass('ui-state-highlight');
}
Когда я создаю экземпляр JQGrid, я могу лишить выделение, когда он добавлен.
Есть ли другой, более идеальный, способ сделать это?
Решение
Используйте следующий код:
beforeSelectRow: function(rowid, e) {
return false;
}
Другие советы
Если у вас, как и я, есть jqgrids за миллиард и не хотите переопределять Onselectrow для каждого, вот глобальная версия решения Рейгеля, которая хорошо работала для меня:
jQuery.extend(jQuery.jgrid.defaults, {
onSelectRow: function(rowid, e) {
$('#'+rowid).parents('table').resetSelection();
}
});
Я полагаю, вы могли бы обратиться к этому в CSS напрямую. Просто переопределите значения для UI-State-Highlight для вашей конкретной таблицы
#table_id tr.ui-state-highlight {
border: inherit !important;
background: inherit !important;
color: inherit !important;
}
#table_id tr.ui-state-highlight a {
color: inherit !important;
}
#table_id tr.ui-state-highlight .ui-icon {
background-image: inherit !important;
}
Я использовал значение inherit
Как пример - вам, вероятно, потребуется скопировать некоторые значения с вашей Theme.css, чтобы сделать эту работу.
пытаться:
onSelectRow: function(rowid, status) {
$("#grid_id").resetSelection(); //Resets (unselects) the selected row(s). Also works in multiselect mode.
}
Вы можете прочитать документации здесь. Анкет Надеюсь, это поможет вам ...
Да, используйте обратный вызов Rowattr:
rowattr: function (rowData,currentObj,rowId) {
if (rowData.SomeField=="SomeValue") {
return {"class": "ui-state-disabled"};
}
},
Это также смачивает сетка и отключает выбор.