Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi treeview klick & Datenbank prüfen (https://www.delphipraxis.net/12719-treeview-klick-datenbank-pruefen.html)

Micha 3. Dez 2003 07:45


treeview klick & Datenbank prüfen
 
Folgendes Problem:

Ich haben einen TreeView, in dem Items aus einer Paradox-Tabelle geladen werden.
In dieser Tabelle gibt es auch ein Feld namens "Checkbox". Dieses Feld kann entweder den Wert "0" oder "1" haben.

Jetzt möchte bei Doppelklick auf Items, die eine 1 besitzen, dass eine Message ausgegeben wird.

Kann mir wer helfen?

WtF 3. Dez 2003 07:49

Re: treeview klick & Datenbank prüfen
 
Sorry ich hab dein Problem nicht genau verstanden glaube ich. Wieso benutzt du nicht das dblClick ereignis von TreeView? Soweit ich weiß darf aber dann dem OnClick ereignis allerdings nix zugewiesen sein.
Mfg

oki 3. Dez 2003 08:03

Re: treeview klick & Datenbank prüfen
 
Hi,

ich hab jetzt nicht genau mitbekommen, wo du bei Items die 1 oder 0 führst.

Generell kannst du im Ereignis des TreeView für Doppelklick aber das selektierte TreeNode ermitteln.

Das geht so:

Delphi-Quellcode:
...
var TreeNode : TTreeNode;
begin
  TreeNode := TreeView1.Selected;
   If TreeNode = nil then Exit;
...   // Hier weiter mit Prüfung auf deine Werte und Anzeige der MessageBox
end;
Hier währe der Punkt, dass auf das selectierte TreeNode reagiert wird. Möchtest du sicherstellen, dass der Cklickpunkt überprüft wird (mann kann ja auch auf eine andere Stelle im TreeView klicken wo kein Eintrag liegt), dann mußt du abfragen ob an dieser Stelle ein Eintrag liegt.
Dafür gibt es die Funktion
Delphi-Quellcode:
   function GetNodeAt(X, Y: Integer): TTreeNode;
Entsprechende Beschreibung findest du in der OH.

Gruß oki

Micha 3. Dez 2003 08:04

Re: treeview klick & Datenbank prüfen
 
@ wtf: :wiejetzt: Ich hab doch geschrieben, dass ich das Ganze per Doppelklick machen möchte.

Mir gehts darum, wie ich es rausbekomme, ob der Item eine 1 oder eine 0 in dem Feld "Checkbox" hat.

oki 3. Dez 2003 08:09

Re: treeview klick & Datenbank prüfen
 
tut mir leid, dann verstehe ich die Frage auch nicht.

Gruß oki

Micha 3. Dez 2003 08:15

Re: treeview klick & Datenbank prüfen
 
Aber trotzdem Danke @oki
Hat mir einerseits schon weitergeholfen, aber andererseits auch eben meine Frage nicht geklärt.

Also nochmal:
Ich ziehe mir die Items für den TreeView aus einer Datenbank. In dieser gibt es auch ein Feld names "Checkbox".

Z. B. steht in dieser Tabelle

ItemName Checkbox
1. Oberpunkt 1
2. Oberpunkt 0
1. Unterpunkt 1
2. Unterpunkt 1
3. Unterpunkt 0

Wenn man jetzt z. B. auf den Item "1. Oberpunkt" klickt, der ja eine "1" im Feld Checkbox hat, dass eine Message ausgegeben wird.

oki 3. Dez 2003 08:22

Re: treeview klick & Datenbank prüfen
 
Ja klar, aber wo hinterlegst Du den Wert deines Feldes CheckBox?

oki

Micha 3. Dez 2003 08:24

Re: treeview klick & Datenbank prüfen
 
dieser wird in einer anderen Form in eine Paradox-Tabelle geschrieben.

r_kerber 3. Dez 2003 08:27

Re: treeview klick & Datenbank prüfen
 
Hallo Micha,

ich vermute, dass Du die Werte für das Feld Checkbox nur in der Datenbank zu stehen hast. Dementsprechend solltest Du vielleicht so vorgehen:
  • Inhalt des angeglickten Items ermitteln
  • Mit diesem Item eine Select auf der Datenbank ausführen (TQuery - im SQL eintragen):
    SQL-Code:
    SELECT Checkbox FROM Tabelle
    WHERE ItemSpalte = :iteminhalt
  • Im Programm etwa folgendes
    Delphi-Quellcode:
    Query1.Close;
    Query1.Params.ParamValues['iteminhalt'] := ItemInhalt;
    Query1.Open;
    CheckBoxWert := Query1.FieldByName('Checkbox').AsInteger;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.

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-2025 by Thomas Breitkreuz