GridView排序

来源:互联网 发布:js 获取所有表单元素 编辑:程序博客网 时间:2024/05/16 13:53
   protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            if (ViewState["sortexp"] == null)
            {
                //第一次点击排序字段的时候执行的代码
                Dictionary<string, string> dic = new Dictionary<string, string>();
                dic.Add(e.SortExpression, "ASC");
                ViewState["sortexp"] = dic;
            }
            else
            {
                Dictionary<string, string> dic = (Dictionary<string, string>)ViewState["sortexp"];
                if (dic.ContainsKey(e.SortExpression))
                {
                    //如果用户此次点击的和上次点击的是同一个排序字段的话,执行下面代码
                    //如果上次是升序排列,这次降序,如果上次是降序排列,这次是升序
                    if (dic[e.SortExpression] == "ASC")
                    {
                        dic[e.SortExpression] = "DESC";
                    }
                    else
                    {
                        dic[e.SortExpression] = "ASC";
                    }
                    ViewState["sortexp"] = dic;
                }
                else
                {
                    //如果是多字段排序,就注释掉,如果是单字段排序就清楚上次的排序字段,一般使用单字段排序即可
                    dic.Clear();
                    dic.Add(e.SortExpression, "ASC");
                    ViewState["sortexp"] = dic;
                }
            }
            GetDataTablefenye();
        }