Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2018
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 21
Manuel Va por buen camino
mostrar valor diferente en dbgrid

Hola amigos del foro, tengo la siguiente situación que ha sido planteada por un cliente, les explico:

Tengo valores en tabla de memoria (rxmemoryData) la cual está compuesta como sigue:
Código SQL [-]
id integer (1,2,3, etc)
calificacion1 float (3,5, 7,0, 4,5)
calificacion2 float (3,5, 7,0, 4,5)
calificacion3 float (3,5, 7,0, 4,5)
calificacion4 float (3,5, 7,0, 4,5)
calificacion5 float (3,5, 7,0, 4,5)
Es una tabla de calificaciones de los estudiantes, el cliente me pide si el estudiante tiene su calificación pendiente no aparezca 0 (cero), si no que la letra "P", si la calificación no será aplicada "/", si es eximido una "E", todo esto en la dbgrid, donde yo ingreso las calificaciones, ahora por el tipo de datos de las calificaciones no podría usar esos indicadores, la solución propuesta fue:

calificación pendiente = -1
Si la calificación no será aplicada = -2
eximido = -3

Nota: las calificaciones se validan de 0 a 7.

Ahora el cliente insiste en los símbolos descritos anteriormente (P, /, E), como se podría hacer, ingresando el -1, pero en la dbgrid visualice "P"?

Agradezco su ayuda, muchas gracias.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #2  
Antiguo 19-01-2018
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Cita:
Empezado por Manuel Ver Mensaje
Hola amigos del foro, tengo la siguiente situación que ha sido planteada por un cliente, les explico:

Tengo valores en tabla de memoria (rxmemoryData) la cual está compuesta como sigue:
Código SQL [-]
id integer (1,2,3, etc)
calificacion1 float (3,5, 7,0, 4,5)
calificacion2 float (3,5, 7,0, 4,5)
calificacion3 float (3,5, 7,0, 4,5)
calificacion4 float (3,5, 7,0, 4,5)
calificacion5 float (3,5, 7,0, 4,5)
Es una tabla de calificaciones de los estudiantes, el cliente me pide si el estudiante tiene su calificación pendiente no aparezca 0 (cero), si no que la letra "P", si la calificación no será aplicada "/", si es eximido una "E", todo esto en la dbgrid, donde yo ingreso las calificaciones, ahora por el tipo de datos de las calificaciones no podría usar esos indicadores, la solución propuesta fue:

calificación pendiente = -1
Si la calificación no será aplicada = -2
eximido = -3

Nota: las calificaciones se validan de 0 a 7.

Ahora el cliente insiste en los símbolos descritos anteriormente (P, /, E), como se podría hacer, ingresando el -1, pero en la dbgrid visualice "P"?

Agradezco su ayuda, muchas gracias.
Hola MANUEL, buenos dias.

Yo lo haria usando CASE en el SELECT de la consulta, algo asi:

Código SQL [-]
select p.pmt_nombre,
       case l.tipo_contr
          when 1 then 'Concesionario'
          when 2 then 'Distribuidor'
          when 3 then 'Cuenta propia'
       end as contrato,
       count(*) as total_puntos
from tienda l,
     promotor p
where l.promotor=p.pmt_numero
  and l.tipo_contr in (1,2,3)
  and l.en_operacion=0
group by p.pmt_nombre,
         l.tipo_contr
order by p.pmt_nombre

En tu caso podría ser asi:
Código SQL [-]
select nombre_materia,
         CASE calificacion_materia
              when -1 then 'P'
              when -2 then '/'
              when -3 then 'E'
         END as estatus_calificacion
from TABLA_CALIFICACIONES
where condicion_1 = condicion_2   //Dentro del where agregas las condicionantes de tu caso

Algo como lo anterior, lo puedes enlazar a tu DataSet asociado a al DbGrid y se visualizara como lo requieres.

Por cierto que componentes usas y que base de datos !!!....lo anterior es usando componentes SQL Firebird.

Saludos y espero esto te ayude.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #3  
Antiguo 19-01-2018
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Hola
Otra opcion es usar el event ongettext del objeto de campo que quieres visualizar

Código Delphi [-]
procedure TForm1.MiDatasetMiCampo1GetText(Sender: TField; var aText: string;
  DisplayText: Boolean);
begin
case sender.asinteger of
-1:Atext:='P';
-2:Atext:='/';
-3:Atext:='E';
end;
end;
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #4  
Antiguo 19-01-2018
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 21
Manuel Va por buen camino
Muuuchas gracias las dos soluciones fueron de gran ayuda
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mostrar un globo informativo diferente en cada columna de un TStringGrid TiammatMX OOP 3 26-08-2013 22:34:59
Mostrar valor en binario San29 ASM y Microcontroladores 3 25-06-2011 14:54:54
Mascaras de datset muestran algo diferente al valor del reg del dataset.gracias crist1an OOP 3 27-07-2006 23:32:22
Mostrar valor en TComboBox Tecnic2 OOP 6 08-10-2004 12:53:19
Filas Diferente Color En Un Dbgrid jsc Varios 2 27-04-2004 18:32:44


La franja horaria es GMT +2. Ahora son las 02:45:53.


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
Copyright 1996-2007 Club Delphi