Pergunta

Eu olhei para o documentação Mas não consegui encontrar uma resposta. Existe uma maneira de impedir que uma linha seja destacada quando selecionada? Isso ou mesmo uma maneira de impedir que a linha seja selecionada. Gosto da opção "Hoverrows: True", mas, idealmente, gostaria de impedir que uma linha seja selecionada em clique.

Obrigado,

Atualizar:Consegui "implementar hackear" algo que parece ser uma correção provisória. Eu realmente não gosto e gostaria de uma solução melhor, se houver uma ...

Eu descobri que se eu passar a opção

onSelectRow: function(rowid, status) {
    $('#'+rowid).removeClass('ui-state-highlight');
}

Quando instancie o JQGrid, posso retirar o destaque quando ele é adicionado.

Existe outra maneira mais ideal de fazer isso?

Foi útil?

Solução

Use o seguinte código:

beforeSelectRow: function(rowid, e) {
    return false;
}

Outras dicas

Se você, como eu, tem um gazilhão de JQGrids e não quer substituir o OnSelectrow para cada um, aqui está uma versão global da solução de Reigel que funcionou bem para mim:

jQuery.extend(jQuery.jgrid.defaults, {
    onSelectRow: function(rowid, e) {
        $('#'+rowid).parents('table').resetSelection();
    }
});

Suponho que você possa abordar isso diretamente no CSS. Basta substituir os valores para a UI-State-Highlight para sua tabela específica

#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;
}

Eu usei o valor inherit Apenas como exemplo - você provavelmente precisará copiar alguns valores do seu tema.css para fazer isso funcionar.

tentar:

onSelectRow: function(rowid, status) {
    $("#grid_id").resetSelection(); //Resets (unselects) the selected row(s). Also works in multiselect mode.
}

você pode ler documentações aqui. Espero que ajude você ...

Sim, use o retorno de chamada Rowattr:

rowattr: function (rowData,currentObj,rowId) {
    if (rowData.SomeField=="SomeValue") { 
        return {"class": "ui-state-disabled"};
    }
},

Isso também prende a linha e desativa a seleção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top