站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题急急急!!!在分页中如何这样排序??

急急急!!!在分页中如何这样排序??

摘要: 急急急!!!在分页中如何这样排序??


在分页后,有类似这样的结构
序号 姓名 年龄
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的数值,实现顺序转换,可是我再次点击列名时却不是原来在第一页中的那些记录,而是按照某中顺序对表中全部数据排序后显示出来的结果。该怎么改才能对原来页中的数据进行排序呢?




你要把取值范围限定在SQL语句的后面,如:where rownum<4 and rownum>0这样你每次取出的都是你当前页面的内容,然后对这些数据进行新的排序,我就是这样做的


rownum是每行的记录数么?


rownum 是数据库自带的row编码


where rownum<4 and rownum>0这样写是非法的,取不到正确的数据,rownum只能用小于等于,不能大于等.


select rownum id1 from tablename where rownum<=4 and id1>0 用个别名就可以了


不能再次从数据库中查找,因为此时数据库有可能已经更新了数据或者增删了。取回的数据有可能不是原来显示的数据,既然已经分页说明你已经取回了一段数据,肯定是保存在一个容器中或者对象中,现在你直接对容器中的数据进行操作就可,由于是在内存中,速度肯定也快。


把当页数据在JSP页面中用数组保存,排序和显示用JAVASCRIPT做


http://community.csdn.net/Expert/topic/4782/4782752.xml?temp=.3081018
查询后显示的数据,随意排序,但是鼠标点击任一字段名后,自行按字母排序,这个需求怎么实现啊????????????????


获得数据后在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>



ldg_2(绿豆糕) ( ) 信誉:100 Blog 2006-8-30 14:53:51 得分: 0



不能再次从数据库中查找,因为此时数据库有可能已经更新了数据或者增删了。取回的数据有可能不是原来显示的数据,既然已经分页说明你已经取回了一段数据,肯定是保存在一个容器中或者对象中,现在你直接对容器中的数据进行操作就可,由于是在内存中,速度肯定也快。



....................................................................................
我是将取出来的东西放在一个字符串sql中的,可是怎么对存在sql中的进行排序呢???具体点可以么?


china2001ok(开心拽拽) ( ) 信誉:100 Blog 2006-8-30 10:57:08 得分: 0



你要把取值范围限定在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语句后面的啊!!



↑返回目录
前一篇: 在页面上用request.getparameter获得数据的乱码问题
后一篇: 这个问题 用搜索引擎都难找出答案 (其实很简单)