Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TVirtualStringTree und Warengruppe aus DB (https://www.delphipraxis.net/63120-tvirtualstringtree-und-warengruppe-aus-db.html)

Karstadt 14. Feb 2006 10:12

Datenbank: MYSQL • Version: 4 • Zugriff über: Direkt

TVirtualStringTree und Warengruppe aus DB
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo.

So lese ich kategorien in eine

Delphi-Quellcode:
procedure TForm1.BitBtn2Click(Sender: TObject);
Var
   i:Integer;
   L_Acc_value:Packed array[0..99] of Variant;

  TreeData: TTreeData;
  TestKnoten, Knoten,Knoten_alt,Unter_Knoten_alt: PVirtualNode;
begin
  // Alle Einträge werden gelöscht!
  VST.Clear;

  //Größe von Eingabedaten werden übergeben
  VST.NodeDataSize:=SizeOf(TTreeData);

  //Begine die Knoten einzufügen
  VST.BeginUpdate;

  with q_wg do
  begin
    Close;
    Open;
     First;

    While not Eof do
    begin

      //Hauptknoten! Hauptkategorien
      If L_Acc_Value[0]<> Fields[0].Value then
        begin
          TreeData.FCaption := Vartostr(Fields[0].Value);
          Knoten:=AddVSTStructure(VST,nil,TreeData);
          Knoten_alt := Knoten;
        end
        // Falls in der Hauptkategorie eine weitere Unterkategorie dann wird die hier eingetragen!
        else Knoten := Knoten_alt;
          L_Acc_Value[0]:=Fields[0].Value;

      //Unterknoten, Unterkategorien
      For i:=1 to FieldCount-1 do
      begin

        // Nicht Null, nicht leer, Nicht gleich!
        if (L_Acc_Value[i]<> Fields[i].Value) And (not VarIsNull(Fields[i].Value)) And (Fields[i].Value <> '')  then
        begin
          // Nur Zur Kontrolle!!

          Unter_Knoten_alt := Knoten;
          TreeData.FCaption := Vartostr(Fields[i].Value);
          Knoten:=AddVSTStructure(VST,Knoten,TreeData);
        end
        else
        begin
          IF (L_Acc_Value[i] = Fields[i].Value) And (not VarIsNull(Fields[i].Value)) And (Fields[i].Value <> '') Then
          begin
//             Showmessage(IntToStr(Knoten.Index));
             Knoten := Unter_Knoten_alt;
          end;
        end;
          L_Acc_Value[i]:=Fields[i].Value;
      end;

      //Nächsten Datensatz
      next;
    end;
  end;

  //Beende die Knoten einzufügen
  VST.EndUpdate;

  //Sortierung, die DS werden per SQL sortiert!

  //Vst.SortTree(1,sdAscending,True);
Das ist zwar alles gut, wenni ich aber eine Kategorie

hardware-Mäuse-Com11-Schwarz und
hardware-Mäuse-PS2-Schwarz habe dann habe ich ein Problem!


Kurz gesagt ich kann nicht mehr als 3 Kategorien anlegen, sonst kommt das zu eine "Fehler" siehe Bild.

Frank Borland 14. Feb 2006 22:02

Re: TVirtualStringTree und Warengruppe aus DB
 
Zitat:

Zitat von Karstadt
Hallo.

Das ist zwar alles gut, wenni ich aber eine Kategorie

hardware-Mäuse-Com11-Schwarz und
hardware-Mäuse-PS2-Schwarz habe dann habe ich ein Problem!


Kurz gesagt ich kann nicht mehr als 3 Kategorien anlegen, sonst kommt das zu eine "Fehler" siehe Bild.

Moin, moin,

Du solltest Kategorie und Kategoriebezeichnung einführen
Hardware kommt unter die erste Hardware, Mäuse unter die erste Maus und....Schwarz unter das erste Schwarz.
Wenn ich richtig liege käme bei

hardware-Tastatur-PS2-Schwarz

unter der Tastatur nix an

Gruß


Malte


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz