DevExpress> TcxDBTreeList Узлы перетаскивания дерева (записи) - PullRequest
0 голосов
/ 05 мая 2010

Я хочу переместить узлы дерева (записи БД) в TcxDBTreeList путем перетаскивания, есть ли свойство в этом компоненте для этой опции?

Ответы [ 3 ]

2 голосов
/ 06 мая 2010

для включения перетаскивания записей в TcxDbTreeList

написать приведенные ниже коды для событий;

onBeginDragNode событие

Allow:= True;

onDragOver событие

Accept:=True;

установить свойство cxDbTreeList для DragMode

DragMode:=dmAutomatic;
1 голос
/ 05 мая 2010

Проверьте событие OnBeginDragNode. Похоже, это лучшее место для того, что вы хотите сделать.

0 голосов
/ 02 июля 2010

Я обнаружил, что на самом деле мне пришлось самому перемещать узлы:

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 - сетка не имеет точного способа точно узнать, как вы хотите изменить перемещенную строку (и). Вероятно, необходимо изменить порядок сортировки, а также идентификатор родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...