Gridview 动态指定字段升序,降序排序

HTML:需要用到事件:onsorting

                            <asp:GridView ID="MainLists" runat="server" DataKeyNames="WZLBID" CssClass="Grid"
                                    AllowSorting="True" OnRowDataBound="MainLists_RowDataBound" AllowPaging="True"
                                    OnPageIndexChanging="MainLists_PageIndexChanging" PageSize="15" AutoGenerateColumns="False"
                                    OnRowCancelingEdit="MainLists_RowCancelingEdit" OnRowEditing="MainLists_RowEditing"
                                    OnRowUpdating="MainLists_RowUpdating" 
                                    OnRowDeleting="MainLists_RowDeleting" onsorting="MainLists_Sorting">
                                    <FooterStyle CssClass="GridFooter" />
                                    <RowStyle CssClass="Row" />
                                    <Columns>
                                        <asp:TemplateField HeaderText="序号" ItemStyle-CssClass="hcenter" ItemStyle-Width="40px"
                                             SortExpression="WZLBID" HeaderStyle-ForeColor="White">
                                            <ItemTemplate>
                                                <%# Container.DataItemIndex+1 %>
                                            </ItemTemplate>
                                        </asp:TemplateField>
                                        <asp:TemplateField HeaderText="物资类别名称">
                                            <ItemTemplate>
                                                <asp:Label ID="Lab_WZLBMC" runat="server" Text='<%# Eval("WZLBMC") %>'></asp:Label>
                                            </ItemTemplate>
                                            <EditItemTemplate>
                                                <asp:TextBox ID="txt_WZLBMC" Width="120" MaxLength="40" CssClass="inputbox" runat="server"
                                                    Text='<%# Eval("WZLBMC") %>'></asp:TextBox>
                                            </EditItemTemplate>
                                            <HeaderStyle HorizontalAlign="Left" Wrap="False" />
                                            <ItemStyle HorizontalAlign="Left" Wrap="False" />
                                        </asp:TemplateField>

                                    </Columns>
                                    <HeaderStyle CssClass="HeadingCell" />
                                    <AlternatingRowStyle BorderStyle="None" CssClass="AlternatingRow" />
                                </asp:GridView>

C#:Page_Load

 protected void Page_Load(object sender, EventArgs e)
        {
 MainLists.Attributes["curSortExpression"] = "WZLBID";
 MainLists.Attributes["curSortDirection"] = "DESC";
BindData();
}

 

C#:MainLists_Sorting

    protected void MainLists_Sorting(object sender, GridViewSortEventArgs e)
        {
            if (MainLists.Attributes[e.SortExpression.ToString()] == null)
            {
                MainLists.Attributes[e.SortExpression.ToString()] = "ASC";
            }
            else if (MainLists.Attributes[e.SortExpression.ToString()] == "DESC")
            {
                MainLists.Attributes[e.SortExpression.ToString()] = "ASC";
            }
            else
            {
                MainLists.Attributes[e.SortExpression.ToString()] = "DESC";
            }
            MainLists.EditIndex = -1;
            MainLists.Attributes["curSortExpression"] = e.SortExpression.ToString();
            MainLists.Attributes["curSortDirection"] = MainLists.Attributes[e.SortExpression.ToString()];
            BindData();
        }

C#:BindData()

 public void BindData()
        {

            string strwhere = string.Empty;

            DataSet ds = bll.GetAllItemByFwzlbid(int.Parse(ViewState["fwzlbid"].ToString()));
            if (ds.Tables[0].Rows.Count == 0)
                GridViewMsg.InnerText = "无记录";
            else
                GridViewMsg.InnerText = "共有" + ds.Tables[0].Rows.Count + "条记录";
            if (MainLists.Attributes["curSortExpression"] != null)
            {
                ds.Tables[0].DefaultView.Sort = string.Format("{0} {1}", MainLists.Attributes["curSortExpression"], MainLists.Attributes["curSortDirection"]);//这里是排序的地方
            }
            MainLists.DataSource = ds.Tables[0];
            MainLists.DataBind();
        }

转载于:https://www.cnblogs.com/fuge/archive/2012/11/20/2779535.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值