2010-01-28 13 views

Respuesta

13

Para cambiar el color fila seleccionada tiene que sustituir la clase CSS correspondiente:

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

También puede reemplazar el valor predeterminado border-color si usted desea usando esa clase.

La función getRowClass, por otro lado, es para agregar una clase de CSS estático a las filas mediante la lógica de negocios para determinar qué filas se ven afectadas. También podría lograr colorear en fila de esa manera, pero no afectaría el color de fila resaltado (aunque también podría escribir CSS que usara ambas clases juntas para hacerlo).

EDIT: Para cambiar el estilo de fila programáticamente, querrá definir sus estilos estáticamente en CSS, luego simplemente agregar/eliminar clases de CSS dinámicamente según sea necesario. Por ejemplo, asumiendo una grilla y un botón con id 'my-btn', al hacer clic en el botón se agregará una clase (podría definirse como .x-grid3-row-selected como se muestra arriba) a la primera fila en la grilla, aplicando cualquier estilo está en la clase CSS. Todo depende de usted para definir la lógica de negocio real para la selección de fila (s), pero esta es la sintaxis:

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

¿Hay alguna forma de apuntar a la cuadrícula y cambiar las filas que no están seleccionadas, por ejemplo, desde otra función JS? – williamtroup

+0

Por favor, vea mi respuesta editada. –

2

@bmoeskau Esta cosa que diste no funciona conmigo. Yo prefiero usar

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

dentro de la función OnDoubleClick.

+1

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

Cuestiones relacionadas