怎样用按钮触发dataGrid 的某列排序?

解决方案 »

  1.   

    我觉得该是在这个事件里,但是参数不知道怎么写
     dgSyainnList_SortCommand
      

  2.   

    点击排序的列后在后台对DataSet的Table排序再重新绑定就可以了。
      

  3.   

    我就是想通过datagrid 外面,页面上其他位置的按钮,调用dataGrid某一列的排序事件:
    private void dg_SortCommand
    (object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e){}
    但是里面的两个参数实在不知道怎么给呀
      

  4.   

    下载 DataGridDrag 控件

    NetAdvantageAspNET42 控件  和Windows的资源管理器一样
      

  5.   

    WTaoboy(SnowMans),不大明白你说的什么意思,,,
    一定要用别的控件才能解决吗?
      

  6.   

    DataView dv = new DataView(dt);
    dv.Sort = "id desc";
    //dv.RowFilter = "...."
    grd.DataSource=dv;
    grd.DataBind();
      

  7.   

    DataTable dt=ds.Tables["Customer"];
    Session["data"]=dt;
    private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
    {
    DataTable dt= (DataTable)Session["data"];
    DataView dv= new DataView(dt); dv.Sort = e.SortExpression;
    DataGrid1.DataSource=dv;
    DataGrid1.DataBind();
    }这样可以当点击某个字段时进行排序
      

  8.   

    用datagrid的OnSortCommand="SortGrid"方法
    SortGrid自己定義的

    protected void SortGrid(object sender,System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
    {
                               mySortField = e.SortExpression;
    SortColumns();   
                       }
    private void SortColumns()
    {
    if(!mySortField.Equals(""))
    {
    if(mySortField.Equals(ViewState["SortField"]))
    {
    if(ViewState["SortAscending"].Equals("ASC"))
    {
    mySortDesc = "DESC";
    }
    else
    {
    mySortDesc = "ASC";
    }
    }
    ViewState["SortField"] = mySortField;
    ViewState["SortAscending"] = mySortDesc;
    }
    myDataTable.DefaultView.Sort = ViewState["SortField"] + " " + ViewState["SortAscending"];
    }