温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

GridView中排序问题

发布时间:2020-07-29 13:35:43 来源:网络 阅读:325 作者:缘来没法挡 栏目:编程语言

1.设置AllowSorting="True"

2.点击GridView的事件onsorting="GridView1_Sorting"

3.利用GridView的Sort属性,页面在ViewState中存储主键和排序,默认是升序,ViewState["OrderDire"] = "ASC";;由于要在分页事件中实现能再排回来,所以再在分页事件中添加ViewState["OrderDire"] = "Desc";

全部代码如下:

public partial class WebForm1 : System.Web.UI.Page

   {

       string strcon="Data Source=.;Initial Catalog=db_TomeTwo;Integrated Security=True";


       protected void Page_Load(object sender, EventArgs e)

       {

           if (!IsPostBack)

           {

               ViewState["SortOrder"] = "au_id";

               ViewState["OrderDire"] = "ASC";

               Bind();


           }

       }

       public void Bind()

       {


           string strsel="select * from authors";

           SqlConnection conn=new SqlConnection (strcon);

           SqlCommand com=new SqlCommand (strsel,conn);

           SqlDataAdapter sda=new SqlDataAdapter (com);

           DataSet ds=new DataSet();

           conn.Open();

           sda.Fill(ds,"authors");

           DataView dw = ds.Tables["authors"].DefaultView;

           string strsort = (string)ViewState["SortOrder"] + "," + (string)ViewState["OrderDire"];

           //Response.Write(strsort);

           dw.Sort = strsort;


           //GridView1.DataSource=ds.Tables["authors"];

           GridView1.DataSource = dw;

           GridView1.DataBind();

           conn.Close();


       }


       protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

       {

           GridView1.PageIndex = e.NewPageIndex;

           Bind();

       }


       protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)

       {

           string spage = e.SortExpression;

           if (ViewState["SortOrder"].ToString() == spage)

           {

               if (ViewState["OrderDire"].ToString() == "Desc")

               {

                   ViewState["OrderDire"] = "ASC";


               }

               else

               {

                   ViewState["OrderDire"] = "Desc";

               }

           }

           else

           {

               ViewState["SortOrder"] = e.SortExpression;

           }

           Bind();

       }

   }


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI