我有一个gridview,我正在使用分页
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
this.BindData();
}
现在的问题是,当我点击一个标题对gridview进行排序然后我转到第二页,然后回到第一页,它不记得排序表达式DESC或ASC。
如果点击页面索引,我怎样才能坚持排序的方向?
谢谢
答案 0 :(得分:1)
使用ViewState存储SortDirection,如here或here。
如果您的BindData
方法也加载了DataSource应该的内容,则需要通过此SortDirection对数据源进行排序。更改BindData
,以便将SortDirection和PageIndex作为参数。
例如:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.BindData(this.SortDirection,e.NewPageIndex); //if SortDirection is a property that returns the ViewState value
}
然后对Grid的DataSource进行排序并相应地设置它的PageIndex。