Announcement

Collapse
No announcement yet.

Probleme TOutline Komponente - verzweifel...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme TOutline Komponente - verzweifel...

    Hallo,

    ich nutze die Toutline Komponente um eine Historie darzustellen. Dabei habe ich eine Tabelle die einen Index nutzt, der Index besteht aus 2 Feldern 1. Feld ist der User und 2. Feld das Datum. Jetzt soll eine Historie nach User pro Kunde/Kundennummer dargestellt werden, also Hauptknoten sind immer die User und Unterknoten ist immer das Datum im Format MM.JJJJ darunter stehen dann alle Einträge pro User und Monat. Der Ablauf ist wiefolgt: die Tabelle wird geöffnet und in einer Schleife durchblättert (table1.next) dabei wird zuerst immer geprüft ob der aktuelle Eintrag die richte Kundennummer (KDnr) enthält und dann ob der User noch derselbe wie bei dem vorherigen Eintrag ist sonst wird ein neuer Knoten angelegt ebenso bei dem Datum. Soweit funktioniert das auch ganz gut allerdings sind bei Einigen Einträgen immer am Ende weitere Unterpunkte erstellt worden die garnicht dort hin gehören, wo normalerweise ein neuer Knoten eine Ebene höher hätte erstellt werden müßen. Ich kann da keine Logik erkennen wann dieser Knoten falsch erzeugt wird außer das es wenn immer der letzte oder vorletzte Eintrag eines Knotes ist. Anbei noch der Code:

    <Pre>
    procedure TForm1.SpeedButton16Click(Sender: TObject);
    var outline_index,child_index:integer;
    old_user,temp_zeile:string;
    old_date:TDateTime;
    begin
    outline_historie.clear;
    table_historie.close;
    table_historie.IndexName:='idx_user';
    table_historie.open;
    try
    table_historie.first;
    outline_index:=0;
    child_index:=0;
    while not Table_historie.EOF do begin
    if table_historieKdnr_1.Value = query1Kdnr_1.Value then begin
    if old_user = table_historieBearbeiter.Value then begin
    if FormatDateTime('MM.YYYY',old_date) <> FormatDateTime('MM.YYYY',table_historieDatum.Value ) then begin
    outline_historie.addchild(child_index-1,FormatDateTime('MM.YYYY',table_historieDatum.Val ue));
    child_index:=outline_historie.Itemcount
    end;
    temp_zeile:=datetostr(table_historieDatum.Value)+' - '+table_historieAktion.Value+' - '+table_historieDokument.Value;
    temp_zeile:=temp_zeile+' #'+inttostr(table_historieId.Value);
    outline_historie.addChild(child_index,temp_zeile);
    end
    else begin
    outline_historie.add(outline_index,table_historieB earbeiter.Value);
    outline_historie.addchild(outline_historie.itemcou nt,FormatDateTime('MM.YYYY',table_historieDatum.Va lue));
    temp_zeile:=datetostr(table_historieDatum.Value)+' - '+table_historieAktion.Value+' - '+table_historieDokument.Value;
    temp_zeile:=temp_zeile+' #'+inttostr(table_historieId.Value);
    outline_historie.addChild(outline_historie.itemcou nt,temp_zeile);
    child_index:=outline_historie.Itemcount-1;
    end;
    old_date:=table_historieDatum.Value;
    old_user:=table_historieBearbeiter.Value;
    end;
    Table_historie.Next;
    end;
    except
    end;
    end;
    </Pre>

    Ich suche nun schon seit Tagen an einem Möglichen Fehler doch ich kann nichts finden wer hat hier einen Rat?

    Vielen Dank und Grüße Hendrik

  • #2
    Problem ist nun gelöst, hat sich erledigt

    Comment

    Working...
    X