在分页后,有类似这样的结构
序号 姓名 年龄
5 xx 23
1 xy 21
3 uu 20
每页记录3条。int pageSize=3;
需要点击列名第一次升序,第二次降序。我采用重新从数据库中按某种顺序调数据来实现:
if(mycurrentPage==0){
sql="select top "+pageSize+" * from TABLE2 order by "+orderby+" "+ascdesc+"";
}else{
sql="select top "+pageSize+" * from TABLE2 where id not in (select top "+((currentPage-1)*pageSize)+" id from TABLE2 order by "+orderby+" "+ascdesc+")order by "+orderby+" "+ascdesc+"";
}
然后改变ascdesc的数值,实现顺序转换,可是我再次点击列名时却不是原来在第一页中的那些记录,而是按照某中顺序对表中全部数据排序后显示出来的结果。该怎么改才能对原来页中的数据进行排序呢?
序号 姓名 年龄
5 xx 23
1 xy 21
3 uu 20
每页记录3条。int pageSize=3;
需要点击列名第一次升序,第二次降序。我采用重新从数据库中按某种顺序调数据来实现:
if(mycurrentPage==0){
sql="select top "+pageSize+" * from TABLE2 order by "+orderby+" "+ascdesc+"";
}else{
sql="select top "+pageSize+" * from TABLE2 where id not in (select top "+((currentPage-1)*pageSize)+" id from TABLE2 order by "+orderby+" "+ascdesc+")order by "+orderby+" "+ascdesc+"";
}
然后改变ascdesc的数值,实现顺序转换,可是我再次点击列名时却不是原来在第一页中的那些记录,而是按照某中顺序对表中全部数据排序后显示出来的结果。该怎么改才能对原来页中的数据进行排序呢?
解决方案 »
- java不同类中的调用
- urlrewrite 4.0 服务器发布问题
- 请教b/s结构的java即时通讯
- ajax插入select
- 请教一个关于网页上连接的低级问题,小弟对此有些迷茫,还请各位大虾多多关照,问题不是什么难点,在线等,解决就马上解贴!谢了
- 有无法子拿到当前浏览用户的Mac Address?
- SQLException: Invalid authorization specification: Access denied for user: 'root@localhost' (Using password: YES)是什么错误!
- 为什么受伤的总是我?--javamail 奇怪问题,谁帮我解疑
- 请问如何安装JBOSS3.0(包含Tomcat4.0)?
- 如何一次性的初始化所有的JSP页面?
- jsp问题。
- 大家帮帮忙啊!!!
查询后显示的数据,随意排序,但是鼠标点击任一字段名后,自行按字母排序,这个需求怎么实现啊????????????????
获得数据后在javascript中用数组保存,初始化该数组data[][]
写一个排序的函数对该数组按某个字段进行排序 function sortby( field ){...//对data进行排序}
写一个在页面显示该数组的函数.
function display()
{
....
document.forms[formid].elementid.innerHtml=" ....";
....
}function execute()
{
sortby( XXX );
display();
}<form id="formid" onload="execute()">
<table>
<tr><td onclick="sortby(a)"></td>
<td onclick="sortby(a)"></td>
<td onclick="sortby(a)"></td>
</tr></table>
<table id="elementid"></table>
</form>
不能再次从数据库中查找,因为此时数据库有可能已经更新了数据或者增删了。取回的数据有可能不是原来显示的数据,既然已经分页说明你已经取回了一段数据,肯定是保存在一个容器中或者对象中,现在你直接对容器中的数据进行操作就可,由于是在内存中,速度肯定也快。
....................................................................................
我是将取出来的东西放在一个字符串sql中的,可是怎么对存在sql中的进行排序呢???具体点可以么?
你要把取值范围限定在SQL语句的后面,如:where rownum<4 and rownum>0这样你每次取出的都是你当前页面的内容,然后对这些数据进行新的排序,我就是这样做的
.................................................................................
我用的是sql="select top "+pageSize+" * from TABLE2 where id not in (select top "+((currentPage-1)*pageSize)+" id from TABLE2 order by "+orderby+" "+ascdesc+")order by "+orderby+" "+ascdesc+"";
是把取数值范围限制在sql语句后面的啊!!