DevExpress> TcxDBTreeList拖放树节点(记录)

时间:2010-05-05 02:45:22

标签: delphi devexpress

我想通过拖动在TcxDBTreeList中移动树节点(db记录),此选项是否有此组件的属性?

3 个答案:

答案 0 :(得分:2)

在TcxDbTreeList上启用拖放记录

将以下代码写入事件;

onBeginDragNode 事件

Allow:= True;

onDragOver 事件

Accept:=True;

设置cxDbTreeList的 DragMode 属性

DragMode:=dmAutomatic;

答案 1 :(得分:1)

检查OnBeginDragNode事件。这看起来是你想要做的最好的地方。

答案 2 :(得分:0)

我发现我实际上必须自己移动节点:

procedure TForm1.cxDBTreeList1MoveTo(...);
   var i:integer;
begin
   for i := 0 to Nodes.Count - 1 do
       begin
          // move the node in the tree
          TcxTreeListNode(Nodes[i]).MoveTo(AttachNode, AttachMode);
          // change the database to match
          UpdateParentForNode(NodeID, NewParentID, SortSpecifier);
   end;
   Done := True;
end;

它在DBTreeView中有一定的意义 - 网格实际上没有很好的方法来确切地知道你想要如何更改移动的行。可能存在要修改的排序顺序以及父ID。