Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Datos De Un Dbgrid A Un Calendario (https://www.clubdelphi.com/foros/showthread.php?t=95283)

kainchu3102 13-07-2021 09:00:07

Datos De Un Dbgrid A Un Calendario
 
BUENAS GENTE MI CONSULTA ES LA SIGUIENTE COMO HAGO PARA LLEVAR DATOS DE FECHA DE UN DBGRID A UN CALENDARIO YA CON FECHAS SELECCIONADAS EN EL DBGRID Y QUE SE REFLEJEN EN EL CALENDARIO? MUCHAS GRACIAS DESDE YA

YO INTENTE CON ESTE CODIGO PERO NO MARCHA NI PARA NI PARA ADELANTE

DBGTURNOS.DataSource.DataSet.Fields.FieldByName('fec_tur').AsDateTime := MonthCalendar1.date;

Neftali [Germán.Estévez] 13-07-2021 09:59:47

Antes de nada te recomiendo revisar la Guía de estilo de los foros.
Y de paso, podrías editar tu mensaje y eliminar las mayúsculas.

Cita:

Empezado por kainchu3102 (Mensaje 541740)
...COMO HAGO PARA LLEVAR DATOS DE FECHA DE UN DBGRID A UN CALENDARIO YA CON FECHAS SELECCIONADAS EN EL DBGRID

El destino de la asignación debe estar a la izquierda, por lo tanto si quieres asignar los que hay en el Grid al Calendario, el código debería ser este:

Código Delphi [-]
MonthCalendar1.date := DBGTURNOS.DataSource.DataSet.FieldByName('fec_tur').AsDateTime;

Y de paso utiliza TAG's cuando pongas código en los mensajes.

kainchu3102 13-07-2021 18:49:49

No se pudo!
 
Solo me trajo una sola fecha y me la marco en el calendario, en realidad lo que quiere es que me traiga todas las fechas guardados desde un dbgrid o desde la base de datos mysqly me muestre seleccionada en el calendario

kainchu3102 13-07-2021 20:06:00

Tambien intente con un FDQuery pero igual me trae una sola fecha


procedure TFORMCALENDARIO.BitBtn1Click(Sender: TObject);
begin
with DataModule1.FDQuery1 Do
begin
SQL.Clear;
SQL.Add ('SELECT fec_tur FROM turnos');
// ORDER BY fecha_desde ASC'
Open();
end;

CAL1.Date := DataModule1.FDQuery1.Fields.FieldByName('fec_tur').AsDateTime;

end;

mRoman 13-07-2021 22:17:49

Hola Kainchu.

En este link hablan de lo q necesitas....checalo talvez te resuelva tu problema.

Saludos.

kainchu3102 14-07-2021 07:35:43

Muchas gracias mi hermano pero no me sirvio :(

Neftali [Germán.Estévez] 14-07-2021 08:56:08

Cita:

Empezado por kainchu3102 (Mensaje 541758)
Solo me trajo una sola fecha y me la marco en el calendario


Es correcto, pues es lo que tú le has indicado.


Código Delphi [-]
MonthCalendar1.date := DBGTURNOS.DataSource.DataSet.FieldByName('fec_tur').AsDateTime;


Con esta línea has asignado 1 fecha a la proipiedad Date del Calendario.



Cita:

Empezado por kainchu3102 (Mensaje 541758)
en realidad lo que quiere es que me traiga todas las fechas guardados desde un dbgrid o desde la base de datos mysqly me muestre seleccionada en el calendario

Para eso deberás ejecutar la consulta y realizar un recorrido por el resultado (todos los registros) para ir asignándolos.
Código Delphi [-]
with DataModule1.FDQuery1 Do
  begin
  SQL.Clear;
  SQL.Add ('SELECT fec_tur FROM turnos');
  Open();
  while not eof do begin
    MonthCalendar1.date := FieldByName('fec_tur').AsDateTime;
    Next;

  end;

     end;


El problema es que MonthCalendar1 sólo tiene una propiedad Date para asignar, por lo tanto en cada registro estás "machacando" la fecha del anterior. Al menos el componente estandard de Delphi.

Tendrás que buscar un componente diferente o asignar las fechas de otra manera.

movorack 14-07-2021 23:27:52

Como haz planteado el problema, la solución que se te da es la correcta.

Pero si lo que buscas es poder plasmar un grupo de fechas en un calendario, entonces o haces tu propio desarrollo o usas un componente de tercero.

Acá te dejo el link a un proyecto en github KingCal Delphi Calendar Component - Open Source Edition No se si es lo que buscas y nunca he usado el componente, pero puede darte una guía.

Algo mas comercial... DevExpress - VCL Scheduler - Month view


La franja horaria es GMT +2. Ahora son las 14:54:58.

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