在FMX TreeView中重新排列TreeViewItems

时间:2014-09-22 15:00:05

标签: delphi firemonkey treeviewitem

经过几天的尝试和思考后,我仍然没有接近答案。 我正在寻找一种方法在Firemonkey TreeView中重新排列TreeViewItems,最好是通过drap-and-drop。 VCL中有效的功能并不适用于FMX。我希望有人可以帮助我走上正轨。 -OK显然有人有点恼火 - 让我改写一下:我找不到一种方法来重新排序同一级别的项目,所以TreeViewItems属于一个TreeViewItem-Parent。 可以这样做吗?

2 个答案:

答案 0 :(得分:1)

对于相同级别的项目。做这样的事情:

var
  Src, Dst: TTreeViewItem;
  tmpIndex: Integer;
begin
    tmpIndex:=  Src.Index;
    Src.Index:= Dst.Index;
    Dst.Index:= tmpIndex;
end;

答案 1 :(得分:0)

TTreeView中项目的顺序取决于“父母子女”列表中项目的顺序。

您可以使用AddObject,RemoveObject,InsertObject和Sort http://docwiki.embarcadero.com/Libraries/XE7/en/FMX.Types.TFmxObject_Methods

方法修改子列表

因此,要将您的项目移动为第一次使用:

Item.Parent.InsertObject(0, Item);