TAdvCheckTreeView: Reordering & Selected Node...

Hi,


We have investigated this here and you can use the following code to accomplish this.



type
  TForm1 = class(TForm)
    AdvCheckedTreeView1: TAdvCheckedTreeView;
    procedure AdvCheckedTreeView1BeforeReorderNode(Sender: TObject; AFromNode,
      AToNode: TAdvTreeViewVirtualNode; var ACanReorder: Boolean);
    procedure AdvCheckedTreeView1AfterReorderNode(Sender: TObject; AFromNode,
      AToNode: TAdvTreeViewVirtualNode);
  private
    { Private declarations }
    FNodeIndex: Integer;
  public
    { Public declarations }
  end;


...
implementation
...



procedure TForm1.AdvCheckedTreeView1AfterReorderNode(Sender: TObject;
  AFromNode, AToNode: TAdvTreeViewVirtualNode);
var
  p: TAdvTreeViewNode;
begin
  if Assigned(AToNode.Node) then
  begin
    p := AToNode.Node.GetParent;
    if Assigned(p) and (FNodeIndex >= 0) and (FNodeIndex <= p.Nodes.Count - 1) then
      AdvCheckedTreeView1.SelectNode(p.Nodes[FNodeIndex]);
  end;
end;


procedure TForm1.AdvCheckedTreeView1BeforeReorderNode(Sender: TObject;
  AFromNode, AToNode: TAdvTreeViewVirtualNode; var ACanReorder: Boolean);
begin
  FNodeIndex := AToNode.Index;
end;

Pieter Scheldeman2019-02-12 09:29:19