Datenbank: Firebird • Version: 2.1 • Zugriff über: Delphi, IBX
TreeView mit Anzahl der Datensätze im Text
Hallo,
habe einen TreeView erstellt für meine Datenbank. Jetzt möchte ich gerne die Anzahl der Datensätze im Text anzeigen lassen. -- Kunden (74) -- Aufträge (25) Wie kann ich das machen? Hat da jemand einen Tip? Gruß DevStar |
Re: TreeView mit Anzahl der Datensätze im Text
Einfach den text der Node dementsprechend erweitern. Erstellst du diese manuell oder hast verwendest du ein TDBTreeView
|
Re: TreeView mit Anzahl der Datensätze im Text
Hier mal ein Schnellschuss...
Delphi-Quellcode:
Aufruf:
function addChildCount(Node:TTreeNode):integer;
begin Result:=0; if assigned(Node) then begin repeat if Node.HasChildren then Node.Text:=Node.Text + ' (' + inttostr(addChildCount(Node.getFirstChild)) + ')'; inc(Result); Node:=Node.getNextSibling; until not assigned(Node); end; end;
Delphi-Quellcode:
addChildCount(TreeView.Items.GetFirstNode);
|
Re: TreeView mit Anzahl der Datensätze im Text
Hallo, vielen lieben dank erstmal.
Es ist kein dbTreeView. Habe es selber erstellt zur Laufzeit. Funktioniert soweit ganz gut. Nur kann ich meine Datensätze nicht mehr auswählen, da ich für den SELECT-Befehl den Node.Text abgreife:
Delphi-Quellcode:
Ich müsste also eine Funktion finden die dien Klammerwert wieder entfernt. "(xx)"
Node := TreeView1.Selected;
sSQL_Table := 'SELECT * FROM VIEW_KUNDEN '; sSQL_Bedinung := 'WHERE KOSTENBEZEICHNUNG = ''' + Node.Parent.Text + ''' ' + 'AND KASSENNAME = ''' + Node.Text + ''' ' + 'ORDER BY NUMMER'; sSQL := sSQL_Table + sSQL_Bedinung; Das geht aber nicht, weil ich ja nicht weiß wieviel Zeichen xx haben wird. Sonst müsste das doch mit Pos und Delete gehen?? |
Re: TreeView mit Anzahl der Datensätze im Text
Dafür würde ich den Tag nehmen
|
Re: TreeView mit Anzahl der Datensätze im Text
Zitat:
|
Re: TreeView mit Anzahl der Datensätze im Text
Ich würde den PK-Wert in der Eigenschaft Tag des Knotens ablegen
|
Re: TreeView mit Anzahl der Datensätze im Text
Hier noch ein anderer Vorschlag...
Delphi-Quellcode:
function DeleteCount(Text:string):string;
var Posi:integer; begin Result:=Text; repeat Posi:=pos(' (', Text); if Posi > 0 then delete(Text, 1, Posi); until Posi = 0; delete(Result, length(Result) - length(Text), length(Result)); end; |
Re: TreeView mit Anzahl der Datensätze im Text
Wobei ich eine Bezeichnung niemals als Schlüsselkriterium verwenden würde.
|
Re: TreeView mit Anzahl der Datensätze im Text
Zitat:
Zu Omata's Funktion: Diese liefert mir leider nur die ersten beiden Zeichen des Textes. Edit: Muss nochmal nerven. Gibt es eine Möglichkeit den Klammerwert in einer anderen Farbe dazustellen? So wie in IBExpert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 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