Fórum dragndrop treeview multiselect #350019
03/12/2007
0
pessoal, alguem tem um exemplo de como fazer o drag n drop de mais de um item para uma treeview? só consigo fazer um item.
o problema ocorre quando movo node.moveTo ... o array de nodes se perde. alguma dica?
o array eu obtenho apartir do comando: tree.selections[contador];
agradeço a atençao
o problema ocorre quando movo node.moveTo ... o array de nodes se perde. alguma dica?
o array eu obtenho apartir do comando: tree.selections[contador];
agradeço a atençao
Renan.cb
Curtir tópico
+ 0
Responder
Posts
04/12/2007
Renan.cb
só mais um detalhe, só movo itens da mesma arvore. De um nó para outro.
Coloquei no evento treeDragDrop
targetNode := tree.GetNodeAt(X, Y);
selNode := nil;
for I := 0 to tree.SelectionCount - 1 do
begin
selNode := tree.Selections[I];
selNode.MoveTo(targetNode, naAddChild);
end;
Tá muito instavel o funcionamento dessa rotina. Se alguem pode ajudar, agradeço.
Coloquei no evento treeDragDrop
targetNode := tree.GetNodeAt(X, Y);
selNode := nil;
for I := 0 to tree.SelectionCount - 1 do
begin
selNode := tree.Selections[I];
selNode.MoveTo(targetNode, naAddChild);
end;
Tá muito instavel o funcionamento dessa rotina. Se alguem pode ajudar, agradeço.
Responder
Gostei + 0
07/12/2007
Renan.cb
como ninguem respondeu, coloco a forma como resolvi.
tive que declarar um array de trrenode. esse array vai receber todos os nos selecionados da arvore.
setLength(selNodes, tvwFuncionarios.SelectionCount);
for I := 0 to tvwFuncionarios.SelectionCount - 1 do
selNodes[i] := tvwFuncionarios.Selections[i];
//depois movo os nos do array
for I := 0 to length(selNodes) - 1 do
selNodes[i].MoveTo(targetNode, naAddChild);
foi a unica maneira que encontrei para fazer.
tive que declarar um array de trrenode. esse array vai receber todos os nos selecionados da arvore.
setLength(selNodes, tvwFuncionarios.SelectionCount);
for I := 0 to tvwFuncionarios.SelectionCount - 1 do
selNodes[i] := tvwFuncionarios.Selections[i];
//depois movo os nos do array
for I := 0 to length(selNodes) - 1 do
selNodes[i].MoveTo(targetNode, naAddChild);
foi a unica maneira que encontrei para fazer.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)