ASP.NET GridView分頁與雙向排序案例
作者:撒旦的幻影 
  ASP.NET GridView分頁是個(gè)經(jīng)常需要用到的功能。本文介紹一個(gè)ASP.net的GridView分頁,雙向排序,帶指示箭頭圖標(biāo)案例。
 以下代碼提供一個(gè)ASP.NET GridView分頁,雙向排序,帶指示箭頭圖標(biāo)案例。
GridViewPage.aspx(才用后臺(tái)代碼綁定方式)
- < form id="form1" runat="server">
 - < asp:GridView AutoGenerateColumns= "False " AllowPaging="true" AllowSorting="true"
 - PageSize="5" ID="gvData" runat="server" BackColor="White" BorderColor="#336666"
 - BorderStyle="Double" BorderWidth="3px" CellPadding="4" GridLines="Horizontal"
 - SkinID="GridViewSkin" OnPageIndexChanging="gvData_PageIndexChanging"
 - OnSorting="gvData_Sorting" OnRowCreated= "gvData_RowCreated" >
 - < Columns>
 - < asp:BoundField DataField="name" HeaderText="姓名" SortExpression="name"/>
 - < asp:BoundField DataField="time" HeaderText="時(shí)間" SortExpression="time"/>
 - < asp:BoundField DataField="title" HeaderText="標(biāo)題" SortExpression="title"/>
 - < asp:BoundField DataField="content" HeaderText="正文" SortExpression="content"/>
 - < /Columns>
 - < /asp:GridView>
 - < /form>
 
ASP.NET GridView分頁代碼:GridViewPage.aspx.cs
- public partial class GridViewPage : System.Web.UI.Page
 - {
 - SqlDataAdapter da = null;
 - DataSet ds = null;
 - private string gvSortExpression
 - {
 - get
 - {
 - if (ViewState["sortorder"] != null && ViewState["sortorder"].ToString() != string.Empty)
 - {
 - return ViewState["sortorder"].ToString();
 - }
 - else
 - {
 - return "";
 - }
 - }
 - set
 - {
 - ViewState["sortorder"] = value;
 - }
 - }
 - protected void Page_Load(object sender, EventArgs e)
 - {
 - if (!Page.IsPostBack)
 - {
 - ViewState["sortorder"] = "name";
 - ViewState["orderdire"] = "asc";
 - Bind();
 - }
 - }
 - protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
 - {
 - gvData.PageIndex = e.NewPageIndex;
 - Bind();
 - }
 - protected void gvData_Sorting(object sender, GridViewSortEventArgs e)
 - {
 - gvSortExpression = e.SortExpression;
 - 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();
 - }
 - private void Bind()
 - {
 - SqlConnection con = new SqlConnection(BookSystem.SQLSERVERCONNECTIONSTRING);
 - string sql = "select name,time,title,content from guestbook";
 - da = new SqlDataAdapter(sql, con);
 - con.Open();
 - ds = new DataSet();
 - da.Fill(ds);
 - DataView view = ds.Tables[0].DefaultView;
 - string sort = (string)ViewState["sortorder"] + " " + (string)ViewState["orderdire"];
 - view.Sort= sort;
 - gvData.DataSource = view;
 - gvData.DataBind();
 - con.Close();
 - }
 - protected void ShowSortedIcon(GridView gvData, GridViewRow gvRow)
 - {
 - for (int index = 0; index < = gvData.Columns.Count - 1; index++)
 - {
 - if ((gvData.Columns[index].SortExpression == gvSortExpression) && (gvData.Columns
 - [index].SortExpression != ""))
 - {
 - Image img = new Image();
 - if ((string)ViewState["orderdire"] == "desc")
 - {
 - img.ImageUrl = "~/Images/sortascending.gif";
 - img.ToolTip = "遞增排列";
 - }
 - else
 - {
 - img.ImageUrl = "~/Images/sortdescending.gif";
 - img.ToolTip = "遞減排列";
 - }
 - gvRow.Cells[index].Controls.Add(img);
 - }
 - }
 - }
 - protected void gvData_RowCreated(object sender, GridViewRowEventArgs e)
 - {
 - if (e.Row.RowType == DataControlRowType.Header)
 - {
 - ShowSortedIcon(gvData, e.Row);
 - }
 - }
 - }
 
以上就是ASP.NET GridView分頁,雙向排序及帶指示箭頭圖標(biāo)的案例。本文來自夢(mèng)的彼岸的博客:《ASP.net的GridView分頁,雙向排序,帶指示箭頭圖標(biāo)案例》。
【編輯推薦】
責(zé)任編輯:周立方 
                    來源:
                    夢(mèng)的彼岸
 














 
 
 
 
 
 
 