DBGrid llenar valores Booleanos mostrando forma String
Saludos muy buen día, he estado buscando pero no encuentro la forma
lo que pasa es que en MySQL creé una tabla en la cual un campo es de tipo "booleano" en realidad dice TyniInt(1) en el cual la lógica sería si es 1 significaría "ATENDIDO" y 0 "PENDIENTE" el chiste de todo esto es que lleno un DBGrid con esta tabla pero me obviamente me aparecen los registros con 0 y 1's¿cómo le pudiera mostrar al usuario? el estado en que están sin afectar la tabla o ya sea hacer una instrucción SQL que me detecte 1 sea esto y 0 sea aquello Saludos y gracias por su tiempo. |
Hola, tienes que utilizar el evento OnGetText de tu campo.
Saluditos |
Gracias sigo buscando
:) jeje no encontré el evento en el query o en el DBGrid pero recuerdo haberusado al menos la función GetText voy a seguir investigando gracias por tu tiempo.
|
mrnovice, lo que dice caro es que utilices el evento OnGetText del CAMPO, ni el DBGrid ni el TQuery tienen este evento. Haz tus campos persistentes, seleccionalo y verás los eventos que dispone.
Saludos, |
Cita:
Saluditos |
Ahora bien, si tus consultas van a ser armadas en tiempo de ejecución, no es posible emplear campos persistentes. En este caso lo que debes emplear es el CASE en tu SQL.
Desconozco MySQL, pero algunos motores tienen la sentencia CASE. Se puede hacer algo como:
Puedes verificar también si MySQL tiene además alguna función equivalente a IIF() de Firebird 2.0 Saludos, |
Creando los campos en el dataset no es necesario usar el GetText, esta la propiedad Display values la cual mostrara el valor por ejemplo
Campo.DisplayValues := 'Atendido;Pendiente'; son los valores que puede tener separados por ";" o Campo.DisplayValues := ';Pendiente'; en este ultimo solo mostraria algo en falso... |
Instrucción SQL funciona en MySQL pero en Delphi no?
Saludos nuevamente, ya estuve viendo las propuestas y me parecio muy interesante la instrucción SQL el problema es que Delphi no me la detecta incluso si la hago vista saben a qué se debe esta situación?
esta es mi instrucción
Y la converti a Vtabla(es la vista) pero no me detecta delphi ese campo qué ondas :S jojo gracias nuevamente a su contribución thanks. en cuanto a displayvalues o gettext ando muy perooo muy perdido :S JEJE PERO YA LO ENCONTRÉ PERO ME GUSTARIA ENTENDER LO QUE PASO CON EL SQL POR FAVOR :) |
Hola de nuevo, yo también pienso que es mejor que utilices el Case en tu consulta. En mysql si funciona, tal cual te lo ha puesto Delphius. En lo que tu nos estas mostrando lo unico que veo que el falta es un end
Saluditos |
Si Si Me Falto El End Pero...
Si Se Lo Habia Puesto En La Sql /query Ese No Es El Detalle :(
No Me Lo Detecta Delphi El Campo "as Nombrecampo" <---por Ejemplo |
Hola mrnovice,
¿Podríamos ver el código y la consulta que tienes? Si te da un error, por favor copia y pega el nombre exacto del error para saber a que enemigo nos enfrentamos;) Tal vez exista un inconveniente, muy poco probable... pero puede que exista, en nombrar un alias a un campo cuando se emplea el CASE. No uso MySQL por lo que no te sabría decir. Cuanto más detalles nos puedas dar sobre el caso mejor te asesoraremos. Por cierto, si no es molestia te pediría que no escribieras de ese modo... la verdad es que hace más difícil la lectura. Saludos, |
Saludos
HOLAS, PUES LO HE RESUELTO CON EL GETTEXT PERO ME SIGUE PICANDO LA DUDA EL MÉTODO USANDO SQL AGRADEZCO A TODOS SU AYUDA EN SERIO
AQUI VA
|
Pues la verdad es que debería funcionar. ¿Probaste sin el AS?
Como he dicho, a riesgo de equivocarme, a lo mejor no se permite nombrar un alias a un campo en un CASE en MySQL. Lo que si veo es que no hay un espacio entre la "condición" y el THEN. Por otro lado, mezclar mayusculas con minúsculas... eso no es saludable, evita las mezclas;) Saludos, |
gracias voy a probar eso de las mayúsculas ops! jeeje
gracias, en cuanto sepa la respuesta lo notificaré, un saludo muy cordial y lo que se les ofrezca ya saben que en lo que pueda ayudar.
|
lo que veo "extraño" es que el alias que has usado para el campo es el mismo que el nombre del campo....jo que lioso que soy:
Cita:
Otra cosita, ya que has creado un Vista, allí mismo podrías incluir ese SQL que has puesto aquí, de forma que la Vista ya sustituye el cero y uno por el texto y entonces, tu consulta pasaría a ser:
Saludos |
Cita:
Cita:
Tu consulta debería quedar así:
Saluditos |
La franja horaria es GMT +2. Ahora son las 16:40:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi