![]() |
Re: TreeView-Bug beim onEdited-Event? Daten sind durcheinand
Das OnChange-Event vom TTreeview wird aber laut der Hilfe, auch beim Auswählen bzw. Wechseln eines Knotens ausgeführt.
Hm hat vielleicht TTreeNode irgendein Event das du nutzen kannst? Das du den Knoten jeweils beim Erstellen ein Event zuweißt? MfG Alaitoc PS: Schönes Wochenende *g* |
Re: TreeView-Bug beim onEdited-Event? Daten sind durcheinand
Zitat:
Es stimmt, das OnChage wird auch dann ausgeführt, wenn es - nach meinen Vorstellungen - nicht gewünscht ist. Und immer wieder die Daten neu laden etc. ist beim onChange einfach zu viel. Ich denke, ich werde es mit einer Message lösen - zumindest vorübergehend. Vielen Dank! |
Re: TreeView-Bug beim onEdited-Event? Daten sind durcheinand
also mit dem anschliessenden
Delphi-Quellcode:
bin ich voll zufrieden, mit der Message kommt es auf nen Versuch an ob die vor oder nach dem Rücksprung in die Procedure edit(protected) des treeviews abgearbeitet wird.
S:=Node.Text;
Delphi-Quellcode:
unit ComCtrls;
procedure TCustomTreeView.Edit(const Item: TTVItem); var S: string; Node: TTreeNode; begin with Item do begin Node := GetNodeFromItem(Item); if pszText <> nil then begin S := pszText; if Assigned(FOnEdited) then FOnEdited(Self, Node, S); if Node <> nil then Node.Text := S; end else if Assigned(FOnCancelEdit) then FOnCancelEdit(Self, Node); end; end; |
Re: TreeView-Bug beim onEdited-Event? Daten sind durcheinand
Eine ganz nadere Frage, warum willst Du denn den Tree nochmals komplett neu laden, nachdem eine Node geändert wird ? Ich würde das ganz weglassen und nur die Änderung des TreeViews in die Datenbank schreiben und mehr nicht.
|
Re: TreeView-Bug beim onEdited-Event? Daten sind durcheinand
Zitat:
Ich würde sagen, man versteift sich manchmal auf ein Problem, ohne wirklich rational zu denken. - Das ist schon fast peinlich ;) Ich werd's so machen! |
Re: TreeView-Bug beim onEdited-Event? Daten sind durcheinand
Tja, ich bin da manchmal genau so :roteyes: Aber dazu gibt es ja die DP, die einem wieder die Augen öffnet. :thumb:
|
Re: TreeView-Bug beim onEdited-Event? Daten sind durcheinand
Mir ist da noch eine Idee eingefallen. Du kannst das OnChange-Event benutzen. Du setzt einfach die Property Tag vom TreeView auf einen Wert im OnEdited-Event. Diesen Wert fragst Du im OnChange-Event ab. Stimmt der Wert, startest Du den Neuaufbau des TreeViews und setzt danach die Property Tag wieder zurück auf den ursprünglichen Wert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 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