这几天搞个客户管理,左边是树,要求其中的同级节点可以上下移动,并能保存下次初始化时还按修改过的顺序生成树,找资料都是按下面的方法.
-----------------------------下面是别人这样做的但没试成功------------------------------------
下面函数不要进行定义
function CustomSortProc(Node1, Node2: TTreeNode; Data: integer): integer; stdcall;
begin
Result := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));
//看!这里就在判断两个Node的前后顺序
//返回值的意思: -1 表示node1在前,node2在后
// 0 表示相等
// 1 表示node1在后,node2在前
end;
调用时
TreeView1.CustomSort(@CustomSortProc, 0);
----------------------下面是我的方法----------------------------------------------------------------
数据库中除了自增字段,父字段外,还有一个顺序字段,顺序字段保存节点在树中的索引序号,如有调整修改此值即可,下次生成树时按此顺序字段排序再添加树.