2010-01-28 1 views

risposta

13

Per cambiare il colore riga selezionata si deve sostituire la classe CSS appropriata:

.x-grid3-row-selected { 
    background-color: red !important; 
} 

Si potrebbe anche ignorare l'impostazione predefinita border-color se si desidera utilizzare quella classe.

La funzione getRowClass, d'altra parte, consente di aggiungere una classe CSS statica alle righe utilizzando la business logic per determinare quali righe sono interessate. Si potrebbe anche ottenere la colorazione delle righe in questo modo, ma non influenzerebbe il colore della riga evidenziata (anche se si potrebbe anche scrivere CSS che usa entrambe le classi insieme per farlo).

MODIFICA: Per modificare lo stile di riga a livello di codice, si desidera comunque definire staticamente i propri stili in CSS, quindi aggiungere/rimuovere classi CSS in modo dinamico se necessario. Ad esempio, supponendo una griglia e un pulsante con id 'my-btn', facendo clic sul pulsante si aggiungerà una classe (che potrebbe essere definita come .x-grid3-row-selected come mostrato sopra) alla prima riga della griglia, applicando qualunque sia lo stile nella classe CSS. Sta a voi per definire la logica di business vero e proprio per la selezione di riga (s), ma questa è la sintassi:

Ext.get('my-btn').on('click', function(){ 
    Ext.fly(myGrid.getView().getRow(0)).addClass('error'); 
}); 
+0

È comunque necessario indicare la griglia e modificare le righe che non sono selezionate, ad esempio da un'altra funzione JS? – williamtroup

+0

Si prega di consultare la mia risposta modificata. –

2

@bmoeskau Questa cosa ti ha dato non funziona con me. Io invece uso

grid.getView().addRowClass(rowIndex, 'red'); 

all'interno della funzione OnDoubleClick.

+1

addRowCls (HTMLElement/String/Number/Ext.data.Model rowInfo, String cls) – Rolf