AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TreeView mit Anzahl der Datensätze im Text
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView mit Anzahl der Datensätze im Text

Ein Thema von DevStar · begonnen am 15. Aug 2008 · letzter Beitrag vom 16. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#1

TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 19:18
Datenbank: Firebird • Version: 2.1 • Zugriff über: Delphi, IBX
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 19:25
Einfach den text der Node dementsprechend erweitern. Erstellst du diese manuell oder hast verwendest du ein TDBTreeView
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 19:30
Hier mal ein Schnellschuss...

Delphi-Quellcode:
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;
Aufruf:
addChildCount(TreeView.Items.GetFirstNode);
  Mit Zitat antworten Zitat
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#4

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 21:45
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:
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;
Ich müsste also eine Funktion finden die dien Klammerwert wieder entfernt. "(xx)"
Das geht aber nicht, weil ich ja nicht weiß wieviel Zeichen xx haben wird.
Sonst müsste das doch mit Pos und Delete gehen??
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 21:46
Dafür würde ich den Tag nehmen
Markus Kinzler
  Mit Zitat antworten Zitat
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#6

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 21:49
Zitat von mkinzler:
Dafür würde ich den Tag nehmen
Äh..und wie? Weiß nicht genau was Du meinst.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 21:50
Ich würde den PK-Wert in der Eigenschaft Tag des Knotens ablegen
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 21:53
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;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 21:55
Wobei ich eine Bezeichnung niemals als Schlüsselkriterium verwenden würde.
Markus Kinzler
  Mit Zitat antworten Zitat
DevStar

Registriert seit: 26. Aug 2007
79 Beiträge
 
#10

Re: TreeView mit Anzahl der Datensätze im Text

  Alt 15. Aug 2008, 22:16
Zitat von mkinzler:
Wobei ich eine Bezeichnung niemals als Schlüsselkriterium verwenden würde.
Schon klar, aber das läßt sich mit einem selbsterstellten dbTreeView schlecht darstellen.

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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 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