Ver Mensaje Individual
  #1  
Antiguo 16-08-2013
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Reputación: 23
José Luis Garcí Va camino a la fama
Problemas con Grupos en listview

Hola compañeros, solicito vuestra ayuda, ya que trabajando en otro tema , pero basándome en la demo del programa DemoTouch, estoy intentando mejorar mi listview de citas y he empezado a trabajar con las Citas y tengo el siguiente problema con los grupos




Al pulsar en una fecha del monthCalendar (4), muestra la fecha (1) y en un querry hago la búsqueda de los datos, el problema es que las cabeceras y pies de grupos (3) no cuadran con las horas o no muestran todos los datos (2)

Aquí os pongo otra imagen para que lo veáis con los dos efectos que digo "cuadran con las horas o no muestran todos los datos"



y aquí el código del evento Onclick de mi MonthCalendar

Código Delphi [-]
procedure TForm1.MonthCalendar1Click(Sender: TObject);
var Item: TListItem;
    Contador:Integer;
    Hora:string;
begin
   Label1.Caption:=DateToStr(MonthCalendar1.Date);
   LV.Clear;
   LV.GroupView := True;
   LV.GridLines := True;
   Contador:=0;
   Hora:='';
   ActQuery(IBQcitas,'Select * From CITAS WHERE FECHA='+QuotedStr(Cambiafecha(MonthCalendar1.Date)));
  if IBQcitas.IsEmpty=false then
  begin
    IBQcitas.First;
    if not (IBQcitas.IsEmpty) then
    begin
       Hora:=FormatDateTime('t',StrToDateTime(IBQcitasHORA.AsString));
       LV.Groups.Add;
       LV.Groups.Items[Contador].GroupID:=Contador;
       LV.Groups.Items[Contador].Header := Hora;
       Contador:=contador+1;
    end;
    while not IBQcitas.Eof do
    begin
       if hora<>FormatDateTime('t',StrToDateTime(IBQcitasHORA.AsString)) then
       begin
          LV.Groups.Items[Contador-1].Footer :='Fin hora:[ '+ Hora+' ]';
          Hora:=FormatDateTime('t',StrToDateTime(IBQcitasHORA.AsString));
          LV.Groups.Add;
          LV.Groups.Items[Contador].GroupID:=Contador;
          LV.Groups.Items[Contador].Header := Hora;
          Contador:=contador+1;
       end;
      item:=LV.Items.Add;
      Item.GroupID:=Contador;
      item.SubItems.add(IBQcitasHORA.AsString);
      item.SubItems.add(IBQcitasOPERARIO.AsString);
      item.SubItems.add(IBQcitasCLIENTE.AsString);
      item.SubItems.add(IBQcitasTRABAJO.AsString);
      IBQcitas.Next;
    end;
    if not (IBQcitas.IsEmpty) then    LV.Groups.Items[Contador-1].Footer :='Fin hora:[ '+ Hora+' ]';
  end;
end;


Como siempre si podéis echarme una mano os estaré muy agradecido
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"

Última edición por José Luis Garcí fecha: 16-08-2013 a las 10:56:15.
Responder Con Cita