根据部门进行排序,部门信息表不给加字段,无序且部门信息可能随时变动,要求自定义顺序排序
问题描述:这里在处理变动的无序数据进行排序的时候是个难点
try {
//根据获取的无序数据data 通过sql自定义排序条件(id)
String[] str = MyTools.instance.getStringList("select data from tabname where data in ("+data+") decode(id,'1',1,'2',2,'3',3),id");
for (int i = 0; i < str.length; i++) {
//再通过for循环遍历塞入到有序list
list.add(str[i]);
}
//塞入对象中排序
//传入跳转页面排序
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
解决方案:
通过条件获取到要排序的数据,通过sql的decode函数进行表的主键id排序,自定义id排序的顺序,再将排序后的数据塞回有序的list中,再传入页面展示顺序,这样即使数据发生变化也会按照主键自定义的顺序进行排序,不包含在排序中的或新增的部门自动排在后面,删除的部门也不影响现有的排序,本人亲测有效,在这里分享给大家,希望我的分享能够帮助到你!



