如何在树结构的子节点中设置顺序

时间:2008-09-06 01:24:20

标签: treeview tree

我在CMS应用程序中有一个页面树表示。我理解如何在数据库中保存树。但是,我没有办法:

A)在特定父页面下重新排序子页面 B)提供允许用户更改订单的UI实现。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

A)我有一个类似的CMS应用程序,我存储了一个特定树的页面的序数值,并对此值进行排序 - 因为我的很多页面出现在完全不同的网站中,我必须保持序号对照一个页面/树组合。

B)我也想要一个更好的方法来做到这一点。目前,他们点击树视图中的节点,在主页面屏幕中,他们可以移动页面。我尝试使用java脚本和其他解决方案拖放,但我的用户可能永远无法使用它没有很多的手持。我会对这个问题的回答感兴趣。

答案 1 :(得分:0)

更改订单本身需要您在数据库中存储某种排序以及每个页面。只是当前的最高/最低值+/- 1可能是一个很好的起点。一旦你在那里获得了那个排序,重新排序成为交换两个值或将一个页面的值更改为两个之间的情况(我猜你可以使用浮点数,但如果你将它拆分太多,你可能需要重新编号)次)。

无论如何,一旦你有了它,你需要一个UI。我已经看到了一个非常简单的'用​​上面/下面的方法交换'的方法,可以是简单的Web链接或AJAX调用。您还可以向用户显示所有页面值,并要求他们按照自己的意愿重新编号。如果你想获得幻想,JavaScript拖放可能是一个很好的方法。我在这种区域使用ExtJSMootools作为框架。如果您不需要所有Extjs小部件,我将来会远离它,并看看类似Mootools Dynamic Sortables demo的内容。