Можно ли остановить выбранную и/или выделенную jqgrid ряд (ы)?

StackOverflow https://stackoverflow.com/questions/2148135

Вопрос

Я посмотрел на документация Но я не смог найти ответ. Есть ли способ предотвратить выделение ряда при выборе? Это или даже способ остановить выбранную строку вообще. Мне нравится вариант «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"};
    }
},

Это также смачивает сетка и отключает выбор.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top