用存储过程做的GridView分页,每次只从数据库中取出当前页需要显示的记录数.
分页代码是自己写的,点击标题排序用的是GridView自己的
按任意列标题排序,但是只要翻页排序就会丢失,还是用的默认的排序,怎么解决这个问题?

解决方案 »

  1.   

    现在我是用session解决的这个问题 把排序字段和排序规则 
    翻页时把这两个放到session里面传过去
    想请教以下高手有没有其他的方法解决这个问题?
      

  2.   

    用viewstate保存sql語句和SortExpression        Dim objcmd As New OleDbDataAdapter(strsql, StrCon)
            Dim das As New DataSet
            objcmd.Fill(das, "acount")
            das.Tables("acount").DefaultView.Sort = ViewState("sort") & " " & ViewState("dire")
            GridView1.DataSource = das.Tables("acount").DefaultView
            GridView1.DataBind()
      

  3.   

    我也试过用viewstate保存排序字段,但是我翻页的时候不是postback
    viewstate在我翻页的时候已经失效了.
      

  4.   

    我现在就是想把排序字段在翻页时传给存储过程
    --------------------------------------------
    “但是只要翻页排序就会丢失”,在翻页操作调用的存储过程,把其中组装的sql贴出来运行一下,看看为什么返回的结果和你期望的不同
      

  5.   

    排序字段存在哪里?
    session/cookie/隐藏字段/url参数...
    可以参考对应的示例
      

  6.   

    我会把排序后的数据集保存在Cache中,分页处理的时候在使用Cache中的数据集