Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Treeviewzugriff: Neuen Datensatz erstellen im Treeview (https://www.delphipraxis.net/52714-treeviewzugriff-neuen-datensatz-erstellen-im-treeview.html)

marabu 3. Sep 2005 10:22

Re: Treeviewzugriff: Neuen Datensatz erstellen im Treeview
 
Sorry - das .AsInteger gehört da nicht hin, die Wandlung geschieht automatisch.

marabu

IngoH 3. Sep 2005 14:28

Re: Treeviewzugriff: Neuen Datensatz erstellen im Treeview
 
Ich geb es auf.

Ich kriege es nicht hin.

Das EInlesen der Ordner klappt, jedoch nicht das Einlesen der Files(Reports) in den ListView. :wall:

http://people.freenet.de/alaris/Bild2.JPG

So solls aussehen, funzt aber nicht.

Sch...önes WE noch.
Ingo

marabu 3. Sep 2005 15:21

Re: Treeviewzugriff: Neuen Datensatz erstellen im Treeview
 
Hallo Ingo,

in meinem Beispiel hatte ich den Primärschlüssel ID der Tabelle OUTLINE in der data property eines TreeNode mitgeführt. Ich stelle mir neben OUTLINE (master table) eine Tabelle REPORTS (detail table) vor mit den Feldern ID, OUTLINE_ID, NAME, CONTENT. ID ist der Primärschlüssel der detail table, OUTLINE_ID der auf die Tabelle OUTLINE verweisende Fremdschlüssel, NAME ein Text zur benutzerfreundlichen Anzeige und Identifikation deiner Reports und CONTENT ein BLOB-Feld mit deinem Report.

Du brauchst dann nur das Ereignis OnChange() der TreeView zu programmieren. Hier das nötigste, wieder sinngemäß:

Delphi-Quellcode:
const
  SEL_REPORTS
    = 'select id, name, content, outline_id from reports '
    + 'where outline_id = %d';

function TMainForm.ListItems: TListItems;
begin
  Result := ListView.Items;
end;

procedure TMainForm.TreeViewChange(Sender: TObject; Node: TTreeNode);
var
  iOutline, iReport: integer;
  li: TListItem;
begin
  ListItems.Clear;
  if Assigned(node)
    then iOutline := Integer(Node.Data)
    else iOutline := 0;
  with QReports do begin
    SQL.Text := Format(SEL_REPORTS, [iOutline]);
    Open;
    while not Eof do begin
      li := ListItems.Add;
      li.Caption := FieldValues['NAME'];
      iReport := FieldValues['ID'];
      li.Data := Pointer(iReport);
      li.ImageIndex := -1;
      // ...
      Next;
    end;
  end;
end;
Schönes Wochenende auch vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 Uhr.
Seite 2 von 2     12   

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