Thema: Delphi Frage zu DBTreeview

Einzelnen Beitrag anzeigen

Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
936 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Frage zu DBTreeview

  Alt 18. Apr 2007, 18:03
Hallo Matthias,

wir bleiben mal bei der Demo3 und klinken uns in der Ereignisbehandlung DTTableTree1.OnDragDrop ein.

Delphi-Quellcode:
procedure TForm1.DTTableTree1DragDrop(Sender: TBaseVirtualTree;
  Source: TObject; DataObject: IDataObject; Formats: TFormatArray;
  Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);
var
  NewParentNode: PVirtualNode;
  CurData : PNodeItem;
begin
  if (Sender is TDTTableTree) then
  begin
    NewParentNode := TDTTableTree(Sender).GetNodeAT(Pt.X, Pt.Y);
    if NewParentNode = nil then
    begin
      with TDTTableTree(Sender).DataSource.DataSet, TDTTableTree(Sender) do
      begin
        DisableControls;
        Edit;
        FieldValues[DBTreeFields.ParentFieldName] := 0;
        Post;
        EnableControls;
      end;
    end
    else
    begin
      with TDTTableTree(Sender).DataSource.DataSet, TDTTableTree(Sender) do
      begin
        CurData := TDTTableTree(Sender).GetNodeData(NewParentNode);
        if Assigned(CurData) and Assigned(CurData^) then
        begin
          DisableControls;
          Edit;
          FieldValues[DBTreeFields.ParentFieldName] := CurData^.Key;
          Post;
          EnableControls;
        end;
      end;
    end;
  end;
end;
Das einzige was jetzt noch bleibt ist Aktualisierung der Anzeige.

Gruß
  Mit Zitat antworten Zitat