2012-07-10 10 views
6

Tengo solo un mes de vida con extjs y todavía estoy experimentando. Mi pregunta es: tengo un panel de cuadrícula y dentro de él las opciones de configuración de 'herramientas'. Estoy usando esto para activar/desactivar una variable Ext.grid.feature.Grouping. Las 2 funciones del controlador tienen la lógica para deshabilitar/habilitar las 2 vistas haciendo clic en los 2 botones 'cruzados' que aparecen en el lado derecho del encabezado. La lógica está bien. Sin embargo, me gustaría mostrar mi conjunto de imágenes personalizadas en lugar de los botones 'cruzar'. Se puede hacer esto? Si es así, ¿cómo? ¿Debo hacer algunos cambios en el código CSS para eso?Visualización de imágenes personalizadas en las opciones de configuración 'herramientas' de ext.grid.panel

He revisado la documentación y también hice una buena búsqueda pero parece que nada responde mi pregunta.

Respuesta

9

Especificar una configuración personalizada type en sus herramientas:

Ext.create('Ext.grid.Panel', { 
    ... 
    tools: [ 
     { 
     type: 'enable-grouping', 
     handler: function() { 
      ... 
     } 
     }, 
     { 
     type: 'disable-grouping', 
     handler: function() { 
      ... 
     } 
     } 
    ] 
}); 

A continuación, defina las siguientes clases en una hoja de estilo con el estilo de sus nuevas herramientas:

.x-tool-enable-grouping { 
    background-image: url('path/to/tool/image/enable-grouping.png'); 
} 

.x-tool-disable-grouping { 
    background-image: url('path/to/tool/image/disable-grouping.png'); 
} 

El tamaño de la imagen de una herramienta de debe ser de 15 x 15 px

+0

Hola Russ .... Gracias por la pronta respuesta. Entiendo la lógica Sin embargo, no tengo claro exactamente dónde tengo que definir las nuevas clases. ¿Debería estar dentro de mi proyecto o en algún lugar de la biblioteca de extjs? Si está en la biblioteca, ¿dónde? ¿Puedo ponerlo en un archivo CSS personalizado y ejecutar mi proyecto? – user1415459

+0

Entonces, agregué el tipo y creé un archivo CSS específico para el proyecto. En el archivo css, definí las dos clases. También cambié las dimensiones de la imagen en el archivo sass _tabs.scss. Esto hace que los botones "cruzados" desaparezcan, pero las imágenes personalizadas aún no se muestran en sus lugares. "Imágenes" es la carpeta donde he puesto las imágenes personalizadas y esta carpeta existe dentro del proyecto. ¿Dónde estoy equivocado? – user1415459

+0

Dejaría el CSS ext y SASS solo y simplemente incluiría una hoja de estilo personalizada después de ext-all.css donde puede definir sus propias anulaciones CSS. Si tiene problemas para cargar la imagen, inspeccione el elemento de la herramienta en Firebug o Chrome, puede cambiar la propiedad de la imagen de fondo para encontrar la ruta correcta a su imagen. –

Cuestiones relacionadas