FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
TDBGrid, pintar/negrita texto celda parcial
Saludos
Estoy usando Delphi 2010, y el efecto que quiero lograr es poner en negrita (o colorear, en fin cualquier forma de resaltar texto me vendria bien) parte del contenido de una celda de un TDBGrid; la idea es lanzar una busqueda y resaltar todas los campos en donde coincide el texto buscado Ejemplo: busco "agustin" entonces el DBGrid deberia mostrar
Al grid ademas le asigno estas propiedades:
Lo que hice fue agregar un manejador al evento OnDrawColumnCell, este es el codigo:
Basicamente voy pintando caracter a caracter, en negrita o no, segun se vaya cumpliendo la coincidencia parcial Pero me queda "feo" el texto, asi es como sale: Curiosamente para numeros parece "ir bien", pero el texto sale horrible Alguien puede arrojar algo del luz? PD: Otras alternativas de haberlas, encantado de oirlas; por ejemplo, si con otro control VCL es facil lograr el efecto, aunque no sea data-aware, podria escribir la parte de llenar el contenido (un ListView por ejemplo). En lo posible prefiero no usar componentes de terceros |
#2
|
||||
|
||||
Hola Agustín.
Fijate si podes sacar algo de provecho de este código de prueba: Esta para ser usado sobre TStringFields (y tendrías que filtrar las columnas deseadas en el condicional) Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
Daniel, funciona excelente, muchas gracias
Fue cuestion solamente de hacer un par de ajustes para que quede perfecto Por cierto, es necesario en este caso que DBGrid.DefaultDrawing este a True Saludos |
#4
|
||||
|
||||
Me alegro mucho que te haya servido
Aunque no influye en el funcionamiento del ejemplo, hay un detalle que se me escapó entre las pruebas y que ahora veo... debería ser:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
Entiendo, es para usar la fuente original del canvas y no forzar a sin estilo (que seria un conjunto vacio, [])
Saludos |
#6
|
||||
|
||||
Cita:
Si no se pinta el texto en este evento, es necesario invocar al metodo DefaultDrawColumnCell por ejemplo:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
texto en negrita | NEG1414 | C++ Builder | 2 | 05-02-2009 16:22:28 |
Pintar filas TDBGrid | ManuelPerez | Varios | 11 | 12-08-2008 11:09:47 |
pintar una celda... | eli.vidal | Impresión | 1 | 14-11-2005 16:31:27 |
pintar una celda... | eli.vidal | Gráficos | 1 | 14-11-2005 16:30:49 |
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid?? | AGAG4 | Varios | 11 | 15-11-2004 20:53:28 |
|