javascript extjs extjs3

javascript - Extjs Grid panel one column background Cambio de color en otro valor de columna



extjs3 (1)

Tengo un panel Extjs Editor Grid en el que tengo que cambiar el CSS de una columna dependiendo del valor de otro valor de columna, y cómo hacerlo. No puedo usar la función de renderizador porque funciona en onload. ¿Hay alguna otra forma en que adjunte el código? en el cual tengo la columna de género y la columna de Id. para que cuando la columna de género seleccione el varón, el color de fondo de la ID cambie a Color rosa, de lo contrario, no sé cómo hacerlo.

{ id: ''value'', name: ''value'', header: ''Gender'', dataIndex: ''insured'', width: 100, editor: new fm.ComboBox({ typeAhead: true, displayField: ''gender'', mode: ''local'', transform: ''gender'', triggerAction: ''all'', selectOnFocus: true, forceSelection: true, stripeRows: true, lazyRender: true, listeners: { } } }) }, { id: ''ID'', name: ''ID'', header: ''ID'', dataIndex: ''ID'', width: 100, hidden: true, editor: new fm.TextField({ allowBlank: true, maxLength: 500 }) }


Esto funcionará para una representación simple

CSS:

.custom-column { background-color: #ccc; }

JavaScript:

columns: [{ dataIndex: ''name'', renderer: function (value, meta) { meta.css = ''custom-column''; return value; } }]

Editar:

Puede usar getRowClass para aplicar clases de CSS personalizadas a las filas durante el procesamiento.

Anule esta función para aplicar clases de CSS personalizadas a las filas durante el procesamiento. Esta función debe devolver el nombre de la clase CSS (o la cadena vacía '''' para ninguno) que se agregará al div de ajuste de la fila. Para aplicar nombres de clases múltiples, simplemente devuélvalos delimitados por espacios dentro de la cadena (por ejemplo, ''my-class another-class'').

Javascript:

columns: [{ dataIndex: ''ID'', ... tdCls: ''ID'' //add table css class }], viewConfig: { getRowClass: function(record, index) { var gender = record.get(''insured''); if (gender === 0) { //male return ''gender-male''; } else if (gender === 1) { //female return ''gender-female''; } else { //unknown return ''gender-unknown''; } } }

CSS adicional :

.gender-male .ID { background-color: #088da5; } .gender-female .ID { background-color: #f799af; } .gender-unknown .ID { background-color: #BADA55; }