Color y alineación en celdas de un StringGrid
Éste ejemplo muestra cómo programar el evento OnDrawCell de un TStringGrid para modificar la alineación y color de las celdas pertenecientes a una columna completa; Además implementa los metodos de Importar desde un fichero separado por comas e interacción con el portapapeles de filas completas (Cortar/Copiar/Pegar).
En este ejemplo está el código necesario para:
- Cambiar la alineacióin de las columnas del StringGrid (columnas 0, 1 2).
- Cambiar el color de una columna.
- Cambiar el color de una fila.
- Realizar operaciones sobre el portapapeles con una o varias filas.
- Cargar (Importar) datos a un StringGrid desde un fichero.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
garcias por tu ayuda estaba buscando como usar estas componentes en delphi
gracias por tu ayuda estaba buscando como usar estas componentes en delphi
@david petrochelli
Hola David.
En realidad no es un componente nuevo. Este ejemplo está hecho sobre el componente estandard de Delphi (StringGrid). En el ejemplo se muestra el código necesario para determinadas acciones sobre el StringGrid estandard de delphi (color, alineación,…)
Un saludo.
Gracias por esta info. En la aplicación que estoy desarrollando uso una buena cantidad de componentes TStringGrid, pero hasta el momento todos están tal como viene ‘out of the box’. Voy a utilizar esto para alinear los importes numéricos.
Pero hay algo con lo que me he topado que espero me puedas ayudar a aclarar. Cuando pongo mucha información en un TStringGrid como que se sale de su memoria asignada e impacta en otros datos. ¿hay algún límite de tamaño de la información en el TStringGrid?
Gracias…
Hola Luis.
No se a qué te refieres con lo de que «se sale de su memoria asignada»; Si te refieres a que el texto no cabe en la celda, creo recordar que a la hora de pintar el texto (si es que lo haces manualmente) se le puede especificar el cuadro del cual no debe salir.
Un saludo.
Sinceramente, muchisimas gracias. Ya me estaba empezando a doler la cabeza. Me salvaste… Saludos, suerte.
Te agradezco de veras esta información.Esta complicado encontrar algo sobre los StrinGrid, y me has solucionado varios problemas.Gracias
hola tengo un problema, y ya tengo dias, como puedo pintar de color clred el texto de una celda cuando la celda sea un valor a 5, es para trabajar con calificaciones.
ejemplo:
if stringgrid1.cells[]= ‘5’ then
les agradesco su ayuda y me manden al correo, gracias
@Terrisoft
Hola Terrisoft.
Si revisas el ejemplo deberías poder modificarlo para lo que necesitas. Si aun así no te aclaras, te recomiendo revisar en los foros del Clubdelphi (www.clubdelphi.com) donde encontrarás varias respuestas a esta pregunta:
http://www.clubdelphi.com/foros/showthread.php?t=22652
http://www.clubdelphi.com/foros/showthread.php?t=49553
http://www.clubdelphi.com/foros/showthread.php?t=35101
http://www.clubdelphi.com/foros/showthread.php?t=4672
Si buscas en los foros, encontrarás bastantes más…
Un saludo.