2009-11-23 133 views
0

我有一个包含用户名列表的表,我如何为以下方案实现自定义排序顺序。表中的自定义排序顺序

create table User (name varchar(255)) 

例如User {John, Sam, Mike} 的顺序可以被重新安排使用上/下按钮的用户界面{Sam, John, Mike}{Sam, Mike, John}

我需要一个单独的列添加到表(例如中将sortOrder - 整数数据类型)来照顾这排序。

因此,我可以在每次修改UI时在所有行上设置sortOrder信息。这种机制的缺点是每次修改时都需要为受影响的行重新编写sortOrder列。

我们还尝试将modified_date(日期类型)设置为sortOrder列的替代方法。

有没有更好的办法达到这个目标?欣赏关于此主题的任何帮助

回答

2

是的,我认为添加“SortOrder”列可能是最有效和最灵活的解决方案。其他任何事情总是依赖于其他排序标准 - 按字母顺序或一些例如日期或其他内容,但不会让您有能力完成任何任意排序。

使用SortOrder列!它在大多数情况下都能很好地工作!

+0

以上建议部分解决了我的问题。 a。如果我们在单个操作中向上或向下移动某些项目,则无法识别要修改的行的列表。 b。如果添加新条目,则需要为新条目生成适当的sortOrder值。您需要现有表中最高的sortOrder值来实现此目的。 如果表格非常庞大,这些会变得更成问题。有没有更好的方法来实现上述要求。 – Joe 2009-12-15 07:25:43