如何对GridView进行排序并在网格的所有页面上维护历史记录 [英] How to Sort GridView and maintain history on all pages of grid

查看:70
本文介绍了如何对GridView进行排序并在网格的所有页面上维护历史记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在网格的点击标题上对网格进行排序,但是当我进入网格的下一页时,在网格视图的所有页面上都没有排序,排序历史记录中的数据。



请指导。

I Sort grid on click header of grid but when i go next page of grid there no data in sorted, Sorted history not maintain on all pages of gridview.

please guide.

推荐答案





在会话中放置网格以下属性,



1. SortExpression

2. SortDirection



在PageIndexChange事件中使用会话值在网格排序方法。



使用以下,



private void BindGrid()

{

DataSet ds = null;

//填充数据集



// Defalut Sorting

if(gridView1.SortExpression ==){

gridView1.SortExpression =issue_dt;

gridView1.SortDirection = SortDirection 。下降;

}



DataView dv = null;

if(gridView1.SortExpres sion!=)

{

dv =新DataView(ds.Tables [0]);

dv.Sort = gridView1。 SortExpression ++((gridView1.SortDirection == SortDirection.Ascending)? ASC:DESC);



}

else

dv = ds.Tables [0 ] .DefaultView;



gridView1.DataSource = dv;

gridView1.DataBind();

Session [ SORTEXPR] =(object)gridView1.SortExpression;

Session [SORTDIR] =(object)gridView1.SortDirection;

Session [CURRENTPAGEINDEX] =( object)gridView1.PageIndex;



}



protected void gridView1_PageIndexChanging(object sender,GridViewPageEventArgs e)

{

BindGrid();

}



protected void gridView1_PageSizeChanging(object sender,PageSizeChangeEventArgs e)

{

gridView1.PageSize = e.NewPageSize;

gridView1.PageIndex = 0;

BindGrid();

}

protected void gridView1_Sorting(Object sender,GridView SortEventArgs e)

{

BindGrid();

}
Hi,

Put the Grid following properties in Session,

1. SortExpression
2. SortDirection

In PageIndexChange Event use the session values in the grid Sort method.

Use the following,

private void BindGrid()
{
DataSet ds = null;
//Populate the DataSet

//Defalut Sorting
if (gridView1.SortExpression == "") {
gridView1.SortExpression = "issue_dt";
gridView1.SortDirection = SortDirection.Descending;
}

DataView dv = null;
if (gridView1.SortExpression != "")
{
dv = new DataView(ds.Tables[0]);
dv.Sort = gridView1.SortExpression + " " + ((gridView1.SortDirection== SortDirection.Ascending)? "ASC" : "DESC");

}
else
dv = ds.Tables[0].DefaultView;

gridView1.DataSource = dv;
gridView1.DataBind();
Session["SORTEXPR"] = (object)gridView1.SortExpression;
Session["SORTDIR"] = (object)gridView1.SortDirection;
Session["CURRENTPAGEINDEX"] = (object)gridView1.PageIndex;

}

protected void gridView1_PageIndexChanging(object sender,GridViewPageEventArgs e)
{
BindGrid();
}

protected void gridView1_PageSizeChanging(object sender, PageSizeChangeEventArgs e)
{
gridView1.PageSize = e.NewPageSize;
gridView1.PageIndex = 0;
BindGrid();
}
protected void gridView1_Sorting(Object sender, GridViewSortEventArgs e)
{
BindGrid();
}


这篇关于如何对GridView进行排序并在网格的所有页面上维护历史记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆