其他属性都是设置好了,
在GridView1_Sorting事件中写什么代码??
学习!!!

解决方案 »

  1.   

    后代主要代码:using System; 
      using System.Data; 
      using System.Configuration; 
      using System.Collections; 
      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; 
      using System.Data.SqlClient; 
      public partial class Default3 : System.Web.UI.Page 
      { 
      //清清月儿的博客http://blog.csdn.net/21aspnet 
      SqlConnection sqlcon; 
      string strCon = "Data Source=(local);Database=北风贸易;Uid=sa;Pwd="; 
      protected void Page_Load(object sender, EventArgs e) 
      { 
      if (!IsPostBack) 
      { 
      ViewState["SortOrder"] = "身份证号码"; 
      ViewState["OrderDire"] = "ASC"; 
      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(); 
      } 
      public void bind() 
      { 
      string sqlstr = "select top 5 * from 飞狐工作室"; 
      sqlcon = new SqlConnection(strCon); 
      SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); 
      DataSet myds = new DataSet(); 
      sqlcon.Open(); 
      myda.Fill(myds, "飞狐工作室"); 
      DataView view = myds.Tables["飞狐工作室"].DefaultView; 
      string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"]; 
      view.Sort = sort; 
      GridView1.DataSource = view; 
      GridView1.DataBind(); 
      sqlcon.Close(); 
      } 
      } 
       前台主要代码:  
    <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False"
                            CellPadding="3" Font-Size="9pt" OnSorting="GridView1_Sorting" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px">
                            <FooterStyle BackColor="White" ForeColor="#000066" />
                            <Columns>
                                 <asp:BoundField DataField="身份证号码" HeaderText="用户ID" SortExpression="身份证号码" />
                                <asp:BoundField DataField="姓名" HeaderText="用户姓名" SortExpression="姓名"/>
                                <asp:BoundField DataField="员工性别" HeaderText="性别" SortExpression="员工性别"/>
                                <asp:BoundField DataField="家庭住址" HeaderText="家庭住址" SortExpression="家庭住址"/>
                                    
                            </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>
     
      

  2.   

    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            
            if (ViewState["order"] == null)
            {
                ViewState["order"] = "ASC";
            }
            else
            {
                if (ViewState["order"].ToString() == "ASC")
                {
                    ViewState["order"] = "DESC";
                }
                else
                {
                    ViewState["order"] = "ASC";
                }
            }
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();
            da.Fill(ds);
            ds.Tables[0].DefaultView.Sort =e.SortExpression +" "+ViewState["order"] ;
            this.GridView1.DataSource =ds.Tables[0];
            GridView1.DataBind();
        }
    这样也可以,不过建议使用上面的那种.
      

  3.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" AllowSorting="true" OnSorting="GridView1_Sorting" AllowPaging="true" PageSize="10" OnPageIndexChanging="GridView1_PageIndexChanging"> 
                            <Columns> 
                            <asp:BoundField DataField="id" HeaderText="代码" SortExpression="id"/> 
                            <asp:BoundField DataField="name" HeaderText="名称" SortExpression="name"/> 
                            <asp:TemplateField SortExpression="BUID" HeaderText="BUID"> 
                            <ItemTemplate> 
                                <asp:Label ID="Label1" runat="server"  Text=' <%# Bind("ID") %>' ToolTip=' <%# DataBinder.Eval(Container.DataItem, "ID") %>'> </asp:Label> 
                            </ItemTemplate> 
                            </asp:TemplateField> 
                            </Columns> 
                            </asp:GridView> protected void Page_Load(object sender, EventArgs e) 
        { 
            if (!this.IsPostBack) 
            { 
                ViewState["SortOrder"] = "deptid"; 
                ViewState["OrderDire"] = "asc"; 
                BindGridView(); 
            } 
        }     protected void BindGridView() 
        { 
          
            DataSet ds = new DataSet(); 
                    DataView dv = ds.Tables[0].DefaultView; 
            string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"]; 
            dv.Sort = sort; 
            this.GridView1.DataSource = dv;         this.GridView1.DataBind();     } 
        protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) 
        { 
            string vortExp = e.SortExpression; 
            if (ViewState["SortOrder"].ToString() == vortExp) 
            { 
                if ((string)ViewState["OrderDire"] == "desc") 
                { 
                    ViewState["OrderDire"] = "asc"; 
                } 
                else if ((string)ViewState["OrderDire"] == "asc") 
                { 
                    ViewState["OrderDire"] = "desc"; 
                } 
            } 
            else 
            { 
                ViewState["SortOrder"] = e.SortExpression; 
            } 
            BindGridView();     } 
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
        { 
            this.GridView1.PageIndex = e.NewPageIndex; 
            BindGridView(); 
        } 
      

  4.   

    GridView控件自带排序(一)

    1 using System;
     2 using System.Data;
     3 using System.Data.SqlClient;
     4 using System.Configuration;
     5 using System.Collections;
     6 using System.Web;
     7 using System.Web.Security;
     8 using System.Web.UI;
     9 using System.Web.UI.WebControls;
    10 using System.Web.UI.WebControls.WebParts;
    11 using System.Web.UI.HtmlControls;
    12 
    13 public partial class Demo6 : System.Web.UI.Page
    14 {
    15     protected void Page_Load(object sender, EventArgs e)
    16     {
    17         if (Page.IsPostBack == false)
    18         {
    19             this.GridView.Attributes.Add("SortExpression", "UserID");
    20             this.GridView.Attributes.Add("SortDirection", "ASC");
    21 
    22             BindData();
    23         }
    24     }
    25 
    26     public void BindData()
    27     {
    28         string sortExpression = this.GridView.Attributes["SortExpression"];
    29         string sortDirection = this.GridView.Attributes["SortDirection"];
    30 
    31         string strSql = "select UserID,C_Name,E_Name,QQ from Demo_User ";
    32         DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.CONN_STRING, CommandType.Text, strSql, null).Tables[0];
    33 
    34         // 根据GridView排序数据列及排序方向设置显示的默认数据视图
    35         if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))
    36         {
    37             dt.DefaultView.Sort = string.Format("{0} {1}", sortExpression, sortDirection);
    38         }
    39 
    40         GridView.DataSource = dt;
    41         GridView.DataBind();
    42     }
    43 
    44     protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    45     {
    46         GridView.PageIndex = e.NewPageIndex;
    47         BindData();
    48     }
    49 
    50     protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
    51     {
    52         // 从事件参数获取排序数据列
    53         string sortExpression = e.SortExpression.ToString();
    54         // 假定为排序方向为“顺序”
    55         string sortDirection = "ASC";
    56         // “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
    57         if (sortExpression == this.GridView.Attributes["SortExpression"])
    58         {
    59             //获得下一次的排序状态
    60             sortDirection = (this.GridView.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
    61         }
    62         // 重新设定GridView排序数据列及排序方向
    63         this.GridView.Attributes["SortExpression"] = sortExpression;
    64         this.GridView.Attributes["SortDirection"] = sortDirection;
    65         BindData();
    66 
    67     }
    68 }GridView控件自带排序(二)
    1 using System;
     2 using System.Data;
     3 using System.Data.SqlClient;
     4 using System.Configuration;
     5 using System.Collections;
     6 using System.Web;
     7 using System.Web.Security;
     8 using System.Web.UI;
     9 using System.Web.UI.WebControls;
    10 using System.Web.UI.WebControls.WebParts;
    11 using System.Web.UI.HtmlControls;
    12 
    13 public partial class Demo7 : System.Web.UI.Page
    14 {
    15     protected void Page_Load(object sender, EventArgs e)
    16     {
    17         if (Page.IsPostBack == false)
    18         {
    19             ViewState["SortOrder"] = "UserID";
    20             ViewState["OrderDire"] = "ASC";
    21 
    22             BindData();
    23         }
    24     }
    25 
    26     public void BindData()
    27     {
    28         string sortExpression = this.GridView.Attributes["SortExpression"];
    29         string sortDirection = this.GridView.Attributes["SortDirection"];
    30 
    31         string strSql = "select UserID,C_Name,E_Name,QQ from Demo_User ";
    32         DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.CONN_STRING, CommandType.Text, strSql, null).Tables[0];
    33 
    34         DataView dv = dt.DefaultView;
    35         string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
    36         dv.Sort = sort;
    37 
    38         GridView.DataSource = dt;
    39         GridView.DataBind();
    40     }
    41 
    42     protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    43     {
    44         GridView.PageIndex = e.NewPageIndex;
    45         BindData();
    46     }
    47 
    48     protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
    49     {
    50         string sPage = e.SortExpression;
    51         if (ViewState["SortOrder"].ToString() == sPage)
    52         {
    53             if (ViewState["OrderDire"].ToString() == "Desc")
    54                 ViewState["OrderDire"] = "ASC";
    55             else
    56                 ViewState["OrderDire"] = "Desc";
    57         }
    58         else
    59         {
    60             ViewState["SortOrder"] = e.SortExpression;
    61         }
    62         BindData();
    63 
    64     }
    65 }
    66 
    67 
    68  1 <table align="center" bgcolor="#c0de98" border="0" cellpadding="0" cellspacing="1" width="99%">
     2         <tr>
     3             <th colspan="2">
     4                 GridView演示</th>
     5         </tr>     
     6        <tr>
     7            <td colspan="2" style="width: 100%;" >
     8               <asp:GridView ID="GridView" runat="server" Width="100%" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanging="GridView_PageIndexChanging" PageSize="12" AllowSorting="True" OnSorting="GridView_Sorting" >
     9                 <Columns>
    10                       <asp:BoundField DataField="UserID" HeaderText="UserID" SortExpression="UserID" />
    11                       <asp:BoundField DataField="C_Name" HeaderText="中文名字" SortExpression="C_Name" />
    12                       <asp:BoundField DataField="E_Name" HeaderText="英文名字" SortExpression="E_Name" />
    13                       <asp:BoundField DataField="QQ" HeaderText="QQ帐号" SortExpression="QQ" />
    14                   </Columns>
    15                   <RowStyle HorizontalAlign="Center" />  
    16                   <PagerStyle HorizontalAlign="Right" />
    17               </asp:GridView>
    18            </td>
    19        </tr>
    20       
    21        
    22 </table>
     
      

  5.   

    用juery.tablesorter  比这个爽多了,而且在客户端执行,不回传服务器
      

  6.   

    look this:
    http://www.codeproject.com/KB/grid/multicolumn_sort.aspx
      

  7.   

    那用LINQ获取数据源,怎么写呢????