zoukankan      html  css  js  c++  java
  • Gridview 手动排序实现

    --aspx页面添加AllowSorting="True" AutoGenerateColumns="false"  SortExpression="f_start_date"
    <asp:GridView ID="GridView1"  runat="server" GridLines="Both" Width="97%" Font-Size="12px" AutoGenerateColumns="false"  AllowSorting="True" OnSorting="GridView1_Sorting">
            <Columns>
            <asp:TemplateField HeaderText="#" HeaderStyle-Width="10%" ItemStyle-Width="10%">
            <ItemTemplate>
            <%# Container.DataItemIndex+1 %>
            </ItemTemplate>
            </asp:TemplateField>
           <asp:BoundField DataField="f_start_date" HeaderStyle-Width="20%" ItemStyle-Width="20%" HeaderText="起始时间" SortExpression="f_start_date"/>
           <asp:BoundField DataField="f_end_date" HeaderText="终止时间" HeaderStyle-Width="20%" ItemStyle-Width="20%" SortExpression="f_end_date"/>
           <asp:BoundField DataField="f_cause" HeaderText="休市原因" ItemStyle-Width="50%" HeaderStyle-Width="50%" SortExpression="f_cause"/>
            </Columns>
            </asp:GridView>
    --后台.cs文件
    
    
        conn co=new conn();
        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1 .DataSource =bind();
            GridView1.DataBind();

        }
    public DataSet  bind()
        {
            string str_select = "select * from tbl_admin";
            DataSet ds = co.storenumshop(str_select);
            return ds;
        }
     
        protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sortExpression = e.SortExpression;
            //如果当前是正序,则进行倒序排序
            if (GridViewSortDirection == SortDirection.Ascending)
            {
    
                GridViewSortDirection = SortDirection.Descending;
    
                SortGridView(sortExpression, " DESC");
    
            }
    
            else
            {
    
                GridViewSortDirection = SortDirection.Ascending;
    
                SortGridView(sortExpression, " ASC");
    
            } 
    
        }
    
        private void SortGridView(string sortExpression, string direction)
        {
            DataTable tbl;
            tbl = Cache["market_pause"] as DataTable;
            if (tbl == null)
            {
                TimeSpan slidingExpiration = TimeSpan.FromHours(1);
                DataTable tb = bind().Tables[0];
                //设置时间为1小时,可延迟的缓存
                Cache.Insert("market_pause", tb, null, System.Web.Caching.Cache.NoAbsoluteExpiration, slidingExpiration);
                tbl = (DataTable)Cache["market_pause"];
            }
    
            DataTable dt = tbl;
    
            DataView dv = new DataView(dt);
    
            dv.Sort = sortExpression + direction;
    
            GridView1.DataSource = dv; ;
    
            GridView1.DataBind();
    
        }
    
        public SortDirection GridViewSortDirection
        {
    
            get
            {
    
                if (ViewState["sortDirection"] == null)
    
                    ViewState["sortDirection"] = SortDirection.Ascending;
    
                return (SortDirection)ViewState["sortDirection"];
    
            }
    
            set { ViewState["sortDirection"] = value; }
    
        }
    
  • 相关阅读:
    IDEA效率快捷键
    常用文件/文件夹操作
    git log状态下退出方法
    ImageList 构造函数
    ImageList 控件
    【转】图像分割代码合集
    【转】图像分割论文及代码资源汇总
    SLIC 算法
    c/c++内存分配详解
    c++内存分配
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/1929272.html
Copyright © 2011-2022 走看看