2012-08-12 24 views
5

es posible la creación de clase CSS dinámico para el GridView en extjs sin codificar duro la clase css dentro de la hoja de estilo, por ejemploCómo crear clases CSS dinámico en en extjs o Javascript

DEFAULT_ROW_COLOR = '#E0E0E0'; 
... 
var gridview = new Ext.grid.GroupingView({ 
    forceFit : forceFit, 
    hideGroupedColumn : true, 
    showGroupName : false, 
    groupTextTpl: '{text}', 
    getRowClass : getRowClassFunc 
}); 

var getRowClassFunc = function(record, rowIndex, rowParams, store) { 
    if (rowIndex == 1) { 
    // create a dynamic class based on DEFAULT_ROW_COLOR for background color 
    } 
    if (rowIndex > 1) { 
    // create a dynamic class for darker color for the background. 
    } 
}; 

Respuesta

6

Usted podría utilizar Ext.util.CSS.createStyleSheet (disponible tanto en ExtJS 3.4 como en ExtJS 4.1) para ese propósito exacto.

muestra:

Ext.util.CSS.createStyleSheet(
    '.some-row-class {background-color:' + DEFAULT_ROW_COLOR + ';}' 
); 
+0

Gracias @ Li0liQ. –

+0

Intenté esto, parece que también funciona: var getRowClassFunc = function (record, rowIndex, rowParams, store) { rowParams.tstyle + = 'background-color:' + DEFAULT_ROW_COLOR + ';'; if (rowIndex == 1) { rowParams.tstyle + = 'background-color:' + another_color + ';'; } }; –

Cuestiones relacionadas