- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>GridView正反双向排序</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="10" ForeColor="#333333" PageSize="3" AllowSorting="True" BackColor="White" BorderColor="#CCCCCC" Font-Size="9pt" OnSorting="GridView1_Sorting" BorderStyle="None" BorderWidth="1px">
- <FooterStyle BackColor="White" ForeColor="#000066" />
- <Columns>
- <asp:BoundField DataField="ID" HeaderText="用户ID" ReadOnly="True" SortExpression="ID" />
- <asp:BoundField DataField="Name" HeaderText="用户姓名" SortExpression="Name" />
- <asp:BoundField DataField="Sex" HeaderText="性别" SortExpression="Sex" />
- <asp:BoundField DataField="Address" HeaderText="家庭住址" SortExpression="Address" />
- </Columns>
- <RowStyle ForeColor="#000066" />
- <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
- <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
- <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
- </asp:GridView>
- </div>
- </form>
- </body>
- </html>
- using System;
- using System.Data;
- using System.Data.SqlClient;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- public partial class _Default : System.Web.UI.Page
- {
- SqlConnection sqlConn;
- SqlCommand sqlComm;
- string strConn = "Data Source=(local);Database=Exercise;Uid=sa;Pwd=sa";
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- ViewState["SortOrder"] = "ID";
- ViewState["OrderDire"] = "ASC";
- databind();
- }
- }
- private void databind()
- {
- string strSql = "select * from myDt";
- sqlConn = new SqlConnection(strConn);
- SqlDataAdapter sqlDa = new SqlDataAdapter(strSql, sqlConn);
- DataSet ds = new DataSet();
- sqlConn.Open();
- sqlDa.Fill(ds, "myDt");
- DataView dv = ds.Tables["myDt"].DefaultView;
- string strSort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
- dv.Sort = strSort;
- GridView1.DataSource = dv;
- GridView1.DataBind();
- sqlConn.Close();
- }
- protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
- {
- string strPage = e.SortExpression;
- if (ViewState["SortOrder"].ToString() == strPage)
- {
- if (ViewState["OrderDire"].ToString() == "Desc")
- ViewState["OrderDire"] = "ASC";
- else
- ViewState["OrderDire"] = "Desc";
- }
- else
- {
- ViewState["SortOrder"] = e.SortExpression;
- }
- databind();
- }
- }