详细:
比如我有一个datagrid,里面绑定了姓名,年龄2列,点姓名时,datagrid按姓名排序,点年龄就按年龄排序关键是如何获得这个事件啊。

解决方案 »

  1.   

    HTML代码
    <asp:BoundColumn DataField="***" SortExpression="***" HeaderText="***"></asp:BoundColumn>
    后台代码
    private void Page_Load()
    if(!Page.IsPostBack)
    {
       this.ViewState["sortType"] ="asc";
       this.ViewState["sortExpess"] ="";
    }//数据绑定
    private void BindList()
    {
       *
       *
       *
       this.myTable.DefaultView.Sort="ID ASC";
       if(this.ViewState["sortExpess"].ToString().Equals("")==false)
          {
    this.myTable.DefaultView.Sort= this.ViewState["sortExpess"].ToString() +" "+ this.ViewState["sortType"].ToString();
           }
       this.myTable.AcceptChanges();
       this.DataGrid.DataSource=this.myTable.DefaultView ;
    }private void dgList_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
    {
        this.ViewState["sortExpess"] = e.SortExpression.ToString();
        if(this.ViewState["sortType"].Equals("asc") )
         {
            this.ViewState["sortType"] = "desc";
         }
        else
        {
           this.ViewState["sortType"] = "asc";
        }
        this.BindList();
    }
      

  2.   

    private void DataGrid_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
    {
        this.ViewState["sortExpess"] = e.SortExpression.ToString();
        if(this.ViewState["sortType"].Equals("asc") )
         {
            this.ViewState["sortType"] = "desc";
         }
        else
        {
           this.ViewState["sortType"] = "asc";
        }
        this.BindList();
    }