我想要实现的是用户可以通过单击“向上”和“向下”按钮重新排序节点。这是我的代码。
procedure TForm1.btnUPClick(Sender: TObject);
var tempNode : TcxTreeListNode;
sIndex : integer;
begin
if cxTreeList1.FocusedNode = nil then exit;
cxTreeList1.FocusedNode.MoveTo(cxTreeList1.FocusedNode.GetPrev, tlamInsert);
end;
难怪代码运行良好。我可以看到节点在上下移动。但似乎他们的索引在移动后没有更新。
测试代码:
for i:=0 to cxTreeList1.count -1 do begin
showmessage(cxTreeList1.nodes[i].values[0]);
end;
结果:苹果、香蕉、糖果、钻石、大象
单击“向上”和“向下”按钮一百多次后。
结果:苹果、香蕉、糖果、钻石、大象
我所期望的
大象、香蕉、糖果、钻石、苹果(因为我重新排序了节点)