日期:2014-05-18  浏览次数:20860 次

点击datagridview列排序,怎样知道该列时升序还是降序?
点击datagridview列排序,怎样知道该列时升序还是降序?

------解决方案--------------------
不知道你的数据是否从数据库中取出,这种排序一般是在数据取出时就做了。

单从你这个问题想知道是什么排序时,如果确实只有两种状态,升序和降序。

可以采取 选出该列的任意两行数据比较大小,你就知道是升序还是降序了。


dataGridView1.Rows[1].Cells[j].Value和dataGridView1.Rows[2].Cells[j].Value做比较。

j为你要判断的那列。
------解决方案--------------------
C# code
  protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {
            string sortExpression = e.SortExpression;

            if (ViewState["ifasc"].ToString() == "0")//0升序列 1降序
            {
                SortGridView(sortExpression, " ASC");
                ViewState["ifasc"] = "1";
            }
            else
            {
                SortGridView(sortExpression, " DESC");
                ViewState["ifasc"] = "0";
            }
    }
     private void SortGridView(string sortExpression, string direction)
    {
        DataTable dt = (DataTable)(ViewState["dt"]);
        DataView dv = dt.DefaultView;
        dv.Sort = sortExpression + direction;
        GridView1.DataSource = dv;
        GridView1.DataBind();
    }

------解决方案--------------------
用二楼的方法就可以
------解决方案--------------------
看三角形箭头的形状....

------解决方案--------------------
探讨
看三角形箭头的形状....