Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2006
Avatar de kirvi
kirvi kirvi is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
kirvi Va por buen camino
Rellenar campos sin FieldName en DbGrid

Tengo un dbgrid con varios campos de un fichero AS400, uno de los campos es una fecha y quiero poner en la columna de su izquierda en el grid, el dia de la semana que es dicha fecha, ¿como puedo hacerlo?
Responder Con Cita
  #2  
Antiguo 23-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
(...) uno de los campos es una fecha (...)
¿De qué tipo es ese campo "fecha"? Tal vez puedas utilizar las funciones conque cuenta Delphi en la unidad "DateUtils". "DayOfWeek" creo que está disponible, entre otras. Estas funciones suelen requerir parámetros de tipo "Time", "TDateTime", "TDate", etc.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 23-08-2006
Avatar de kirvi
kirvi kirvi is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
kirvi Va por buen camino
Muchas gracias por contestar.

Viene como string.
Mi problema es que formateo el grid en el evento DrawColumnCell, para cambiarle colores a las celdas según su valor, etc; y es en este evento donde estoy tratando de editar la primera columna en funcion del dia de la semana que me da la segunda columna (fieldname=fecha).

No he sido capaz de hacerlo.
Responder Con Cita
  #4  
Antiguo 23-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Yo no estoy muy puesto en estos temas. No dices, por ejemplo, el gestor de bases de datos que utilizas (que podría ayudar a los compañeros a echarte una mano), pero, sin salir de Delphi cuentas con funciones capaces de convertir cadenas en fechas, como por ejemplo "StrToDate".

A partir de ahí, siempre podrías aplicar la función "DayOfWeek" (revisa por si hubiera alguna más de utilidad para ti en la unidad "DateUtils") y comprobar su resultado para hacer después lo que tengas pensado en función del mismo. ¿No?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 23-08-2006
Avatar de kirvi
kirvi kirvi is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
kirvi Va por buen camino
El problema no son las conversiones, con formatdatetime('ddd',..) ya la he sacado, mi problema es que no se como posicionarme en la celda adecuada y asignarle el valor ya convertido a día de la semana.
Responder Con Cita
  #6  
Antiguo 23-08-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
porque no creas un campo calculado, y en ese campo sacas el dia de la semana, en el grid solo te preocuparias por su color y tamaño de letra?
Responder Con Cita
  #7  
Antiguo 23-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Quizás puedas usar el evento OnGetText del campo, ahí puedes formatear la fecha como quieras.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 24-08-2006
Avatar de kirvi
kirvi kirvi is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
kirvi Va por buen camino
Muchas gracias por vuestra atención y conocimientos.
He conseguido hacerlo como campo calculado en el evento OnCalcFields y no hay problema alguno salvo que con este evento el primer registro me aparece en blanco porque el valor de la fecha viene a NULL, si alguien sabe como solucionarlo le agradecería que me conteste pero no es muy importante, más que nada es estético.
Responder Con Cita
  #9  
Antiguo 24-08-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
¿no puedes darle un valor por defecto?, así al insertar, aparece la fecha de hoy, que quizás le sirva al usuario.

A las malas, pues en el evento beforePost asignas el valor Now o Date a ese campo.

SAludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #10  
Antiguo 24-08-2006
Avatar de kirvi
kirvi kirvi is offline
Registrado
 
Registrado: ago 2006
Posts: 7
Poder: 0
kirvi Va por buen camino
Talking

Muchas gracias de nuevo, le he metido la fecha del sistema que siempre debe coincidir con la primera fila del grid y va perfecto.

Es un placer forear con vosotros.
Responder Con Cita
Respuesta



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
Rellenar con 0.... buitrago Varios 6 17-11-2011 20:02:53
Campos M/D en 1 DBGrid CarmaZone Tablas planas 2 21-07-2005 17:22:35
2 campos lookup en dbgrid JRGustavo Conexión con bases de datos 0 30-06-2005 17:05:10
CAmpos de dbGRid Mario1980 Varios 9 31-10-2004 03:34:12
Campos en DBGrid que no pertenecen al DataSource (sin FieldName) Sóstrato OOP 7 06-06-2003 23:45:36


La franja horaria es GMT +2. Ahora son las 22:11:07.


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