下面是我写的分页排序代码,在运行时分页不能配合排序,排序后点下一页又没有排好序了
Dim dv As DataView
Dim sortword As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then binddata()
sortword = "year"
End Sub
Sub binddata()
SDA1.Fill(DS1, "ok")
dv = New DataView(DS1.Tables("ok"))
dv.Sort = sortword
DG1.DataSource = dv
DG1.DataBind()
End Sub
分页
Private Sub DG1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DG1.PageIndexChanged
DG1.CurrentPageIndex = e.NewPageIndex
binddata()
End Sub
排序
Private Sub DG1_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles DG1.SortCommand
sortword = e.SortExpression.ToString
binddata()
End Sub
我有个疑问,我那边的分页代码中引用binddata重新绑定不是用到排序的吗,怎么会无效的,我感觉那个sortword应该还是继承的,可是运行起来好像是没用的,一按下一页就跟刚载入时一样了,真是郁闷啊。
希望哪位兄弟给我修改代码,而不是给我新的
我刚学asp.net
DG1_SortCommand事件好像是datagrid的allowsorting属性设置为true后,列标题变为hyperlink,当点击列标题时才会触发的事件吧?
兄弟你点下一页时,你的 sortword 好象是空的
把
If Not Page.IsPostBack Then binddata()
sortword = "year"
改成
sortword = "year
If Not Page.IsPostBack Then binddata()