按字母排序显示 DB中查询得到一个 userList,含有lastname,firstname两个字段。如何在页面下拉列表中让<lastname,firstname> (列表中的名字是个合并的字符串)分别都按字母排序 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【sokec】截止到2008-07-22 17:25:43的历史汇总数据(不包括此帖):发帖的总数量:14 发帖的总分数:300 每贴平均分数:21 回帖的总数量:16 得分贴总数量:2 回帖的得分率:12% 结贴的总数量:14 结贴的总分数:300 无满意结贴数:3 无满意结贴分:60 未结的帖子数:0 未结的总分数:0 结贴的百分比:100.00% 结分的百分比:100.00% 无满意结贴率:21.43 % 无满意结分率:20.00 % 敬礼! 你去找个网站看一下,应该是用js实现的,看一些有table的网页, 其中几处用了<nested:optionsCollection/>标签,感觉要在传到页面前就先排序下比较省事。 // 将得到的userList集合每一项转换成你的user类的对象(如果是范型集合就省略此步骤)。import java.util.List;import java.util.ArrayList;class Change{ Change(){ } void doChange(List userList){ String[] lastnames = new String[userList.size()]; String[] firstnames = new String[userList.size()]; // 初始化数组。 for (int i = 0;i < userList.size();i ++){ // 假设你的实体类名叫做"User",然后初始化对应的数组。 User user = (User)userList.get(i); lastnames[i] = user.getLastname(); firstnames[i] = user.getFirstname(); } // 排序后的数组,然后将他们显示在界面上。 lastnames = orderLetters(lastnames); firstnames = orderLetters(firstnames); } // 按字母进行排序,得到排序后的数组。 String[] orderLetters(String[] datas){ List lstDatas = new ArrayList(); for (int i = 0;i < datas.length();i ++){ // 得到所有字符。 char[] chrs = datas[i].toUpperCase().toCharArray() ; // 按顺序比较到的依次存到新集合里。 for (int j = 65;j <= 90;j ++){ char chr = (char)j; if (chr == chrs[0]){ lstDatas.add(datas[i]); break; } } } // 将集合拆成数组。 String[] newDatas = new String[lstDatas.size()]; for (int i = 0;i < lstDatas.size();i ++){ newDatas[i] = lstDatas.get(i).toString(); } return newDatas; }}不知道你说的是不是这种意思! 如何判断一串字母是不是汉字拼音 java.sql.SQLException错误 extjs editgridpanel 重新加载 jsp的教程哪里有??? jdbc 连接 orcale 问题 oracle中long raw问题,还是java中setBytes()问题? 如何配置JBuilder 9 和Tomcat 5.0的关系 求阿信的动态树的jsp版本的代码 菜鸟上路:请高手给我一个连接池吧,谢谢! 请教:图形显示 (fonction (window ,undefined){}) 求高手讲解.. eclipse写的Email
楼主【sokec】截止到2008-07-22 17:25:43的历史汇总数据(不包括此帖):
发帖的总数量:14 发帖的总分数:300 每贴平均分数:21
回帖的总数量:16 得分贴总数量:2 回帖的得分率:12%
结贴的总数量:14 结贴的总分数:300
无满意结贴数:3 无满意结贴分:60
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:21.43 % 无满意结分率:20.00 %
敬礼!
// 将得到的userList集合每一项转换成你的user类的对象(如果是范型集合就省略此步骤)。
import java.util.List;
import java.util.ArrayList;class Change{
Change(){
}
void doChange(List userList){
String[] lastnames = new String[userList.size()];
String[] firstnames = new String[userList.size()]; // 初始化数组。
for (int i = 0;i < userList.size();i ++){
// 假设你的实体类名叫做"User",然后初始化对应的数组。
User user = (User)userList.get(i);
lastnames[i] = user.getLastname();
firstnames[i] = user.getFirstname();
} // 排序后的数组,然后将他们显示在界面上。
lastnames = orderLetters(lastnames);
firstnames = orderLetters(firstnames);
} // 按字母进行排序,得到排序后的数组。
String[] orderLetters(String[] datas){
List lstDatas = new ArrayList();
for (int i = 0;i < datas.length();i ++){
// 得到所有字符。
char[] chrs = datas[i].toUpperCase().toCharArray() ; // 按顺序比较到的依次存到新集合里。
for (int j = 65;j <= 90;j ++){
char chr = (char)j;
if (chr == chrs[0]){
lstDatas.add(datas[i]);
break;
}
}
} // 将集合拆成数组。
String[] newDatas = new String[lstDatas.size()];
for (int i = 0;i < lstDatas.size();i ++){
newDatas[i] = lstDatas.get(i).toString();
}
return newDatas;
}
}
不知道你说的是不是这种意思!