在生成表格的表头上点击不同的列,即按该列进行排序。点击列时,点击第一次按该列顺序排序,点击第二次时逆序排序。我现在实现了按照某一种顺序排序,可是无法实现“点击第一次按该列顺序排序,点击第二次时逆序排序”请问大家有什么好方法啊????

解决方案 »

  1.   

    <td height="30" colspan="1"><a href="newpaixu2.jsp?orderby=id&ascdesc=<%=ascdesc%>">序号</a>
    ascdesc就是表示升序或者降序。可是我现在就是没法在一个页面里面动态改变td里面表示顺序的那个值啊!
      

  2.   

    一个Javascript 的类库,用于table内容排序。使用很方便,不用每次都去调用数据库了。特别适合多表查询的排序。加上<tbody>的style.display 切换,也可以实现分页。
    详细请看:http://www.i170.com/user/power/Article_32099
      

  3.   

    在点击特定的列名的时候提交特定的 order by ... SQL语句 然后提交 重新取得数据,再返回
    或者自己写个算法排一下序(比较麻烦)
      

  4.   

    谢谢晨光,不过我还是不大明白那个文件怎么用也。
    我是用<td height="30" colspan="1"><a href="newpaixu2.jsp?orderby=id&ascdesc=<%=ascdesc%>">序号</a>
    将列名连接的,然后按照orderby来对某列排序,ascdesc设置排序方式。不过最初ascdesc需要赋值,我使用了asc。然后用下列方式来改变方式
     if(ascdesc.equalsIgnoreCase("ASC"))  ascdesc="DESC";
        else if(ascdesc.equalsIgnoreCase("DESC"))  ascdesc="ASC";
    不过每次都是降序,因为是同一个界面。请问怎么解决啊?
      

  5.   

    要注意它们的顺序:
    String ascdesc = request.getParameter("ascdesc");
    if(ascdesc == null || ascdesc.equals(""))
    {
       ascdesc = "asc"
    }
    ... ...//这里写数据库的查询操作,取出的数据放 ResultSet 对象中
    //然后接着写:
    if(ascdesc.equalsIgnoreCase("ASC"))  ascdesc="DESC";
        else if(ascdesc.equalsIgnoreCase("DESC"))  ascdesc="ASC";
    //最后写表格:
    <td height="30" colspan="1"><a href="newpaixu2.jsp?orderby=id&ascdesc=<%=ascdesc%>">序号</a>
      

  6.   

    xml+xsl+javascrpt技术呵呵~
    xsl可以控制显示

    产生一个int i=1;
    if("鼠标点击"){
        i++;
        if(i%2==0){////根据i的奇数耳数来排序
         这是耳数;进行排序
        }else(i%2==1)///这是奇数
    }
      

  7.   

    新定义
    int i=1;
    点击后自加;
    i只能是奇数或耳数
    根据i的奇数耳数来控制排序
    这样每次的排序都不一样了
    http://my.6cncn.cn
      

  8.   

    谢谢,可是我是新手,不知道楼上讲的xsl可以控制显示怎么实现!请指教!
      

  9.   

    谢谢晨光,不过我还是不大明白那个文件怎么用也。
    我是用<td height="30" colspan="1"><a href="newpaixu2.jsp?orderby=id&ascdesc=<%=ascdesc%>">序号</a>
    将列名连接的,然后按照orderby来对某列排序,ascdesc设置排序方式。不过最初ascdesc需要赋值,我使用了asc。然后用下列方式来改变方式
    if(ascdesc.equalsIgnoreCase("ASC")) ascdesc="DESC";
    else if(ascdesc.equalsIgnoreCase("DESC")) ascdesc="ASC";
    不过每次都是降序,因为是同一个界面。请问怎么解决啊?
    ---------------------------------------------------------------------------------------
    1.下载js文件,添加JS<SCRIPT src="sorttable.js" type="text/javascript"></SCRIPT>2.添加TABLE,注意的是:一定要有ID,class为"sortable"<table class="sortable" id="mytable">OK,可以了,简单的吧你那种方法每点一次列名就得重新查询一次,若是数据量很大的话,效率不高
      

  10.   

    我知道这个步骤,不过我想问的是加了js文件,在程序里面是不是就只需要一个调出数据库文件的语句就OK了?我看这个程序的演示,好象列名那里还有个箭头,是怎么实现的呢?谢谢!
      

  11.   

    去网上找js, 我曾经做过同样的东东, 在网上找到的JS, 可以将查询出来的结果按不同的列进行排序, 正序倒序都可以,不需要重新查询数据库的。。
      

  12.   

    yyklxy() 
    多多给分呀!!
    xsl+xml简单的很!
    用工具如Macromedia Dreamweaver 8就可以开发xslt摸版了呵呵!!!
    http://my.6cncn.cn
    >可是无法实现“点击第一次按该列顺序排序,点击第二次时逆序排序”请问大家有什么好方法
    >啊????根据i的奇数耳数来控制排序根据i的奇数耳数来控制排序根据i的奇数耳数来控制排序
    新定义int i=1;
    点击后自加;
    i只能是奇数或耳数
    根据i的奇数耳数来控制排序
    这样每次的排序都不一样了
      

  13.   

    我还想请教大家的是如何在实现分页的基础上还能进行如题的排序呢???急!!!
    -------------------------------------------------------------------------
    刚才我又测试了一下,完全没有问题,可以完美实现不用重新查询进行排序
    只是js没有考虑中文,所以要稍作修改用法:
    首先下载js文件:http://www.blueidea.com/articleimg/2006/07/3799/sorttable.js2.添加JS<SCRIPT src="sorttable.js" type="text/javascript"></SCRIPT> 3.添加TABLE,注意的是:一定要有ID,class为"sortable"<table class="sortable" id="mytable"> 现在就可以直接点击进行排序了
      

  14.   

    sql里写一个order by并且在js中记录一个desc or asc 的标志位,
      

  15.   

    JS是可以实现排序,可是我做的这个要求用具体的代码完成,所以我还是用的下面代码实现
    String ascdesc = request.getParameter("ascdesc");
    if(ascdesc == null || ascdesc.equals(""))
    {
       ascdesc = "asc"
    }
    ... ...//这里写数据库的查询操作,取出的数据放 ResultSet 对象中
    //然后接着写:
    if(ascdesc.equalsIgnoreCase("ASC"))  ascdesc="DESC";
        else if(ascdesc.equalsIgnoreCase("DESC"))  ascdesc="ASC";
    //最后写表格:
    <td height="30" colspan="1"><a href="newpaixu2.jsp?orderby=id&ascdesc=<%=ascdesc%>">序号</a>
    可是在每次排序数据库查询中需要order by...这样在分页中如果选5条就不是在数据库中原来的顺序了。
      

  16.   

    加上<tbody>的style.display 切换,也可以实现分页,
    具体该怎么做?能说说吗?谢谢
      

  17.   

    yyklxy() ( ) 信誉:100    Blog 
    可是在每次排序数据库查询中需要order by...这样在分页中如果选5条就不是在数据库中原来的顺序了。
    ---------------------------------------------------------------------------
    这里确实难控制..........
      

  18.   

    power_zl(晨光) ( ) 信誉:100    Blog  2006-08-24 11:35:00  得分: 0  
     
    分页与排序无关
    先把分页做好,然后按照上面的做不就行了
      ---------------------------------------------------------------------------------
     如果不加分页的功能,你提供的js非常有效。不过我加入了分页后,在序号列会有问题。其他列又可以正常排序,这是为什么呢?
     
      

  19.   

    Ryo_Hazuki(困了) ( ) 信誉:100    Blog  2006-08-26 09:11:00  得分: 0  
     
     
       displaytag
      
     
    ............................................................................
    请问具体怎么用??