zoukankan      html  css  js  c++  java
  • Repeater排序

    1. repeater
      <asp:Repeater ID="rptGroups" runat="server" OnItemDataBound="rptGroups_ItemDataBound" OnItemCommand="rptGroups_ItemCommand">
    2. rd
      <td>
                                      <asp:LinkButton ID="lbname" Runat="server" text="名称" CommandName="lbname"></asp:LinkButton>
                                  </td>
                                  <td>
                                      <asp:LinkButton ID="lbdate" Runat="server" text="时间" CommandName="lbdate"></asp:LinkButton>
                                  </td>
                                  <td>
                                      <asp:LinkButton ID="lbdays" Runat="server" text="天数" CommandName="lbdays"></asp:LinkButton>
                                  </td>
    3. ItemDataBound
          protected void rptGroups_ItemDataBound(object sender, RepeaterItemEventArgs e)
          {
              if (e.Item.ItemType == ListItemType.Header)
              {
                  if (ViewState["id"] != null)
                  {
                      LinkButton lkbtnSort = (LinkButton)e.Item.FindControl(ViewState["id"].ToString().Trim());
                      lkbtnSort.Text = ViewState["text"].ToString();
                  }
              }
          }
    4. ItemCommand
          protected void rptGroups_ItemCommand(object source, RepeaterCommandEventArgs e)
          {
              if (e.Item.ItemType == ListItemType.Header)
              {
                  LinkButton lkbtnSort = (LinkButton)e.Item.FindControl(e.CommandName.Trim());
                  if (ViewState[e.CommandName.Trim()] == null)
                  {
                      ViewState[e.CommandName.Trim()] = "ASC";
                      lkbtnSort.Text = lkbtnSort.Text + "↑";
                  }
                  else
                  {
                      if (ViewState[e.CommandName.Trim()].ToString().Trim() == "ASC")
                      {
                          ViewState[e.CommandName.Trim()] = "DESC";
                          if (lkbtnSort.Text.IndexOf("↑") != -1)
                              lkbtnSort.Text = lkbtnSort.Text.Replace("↑", "↓");
                          else
                              lkbtnSort.Text = lkbtnSort.Text + "↓";
                      }
                      else
                      {
                          ViewState[e.CommandName.Trim()] = "ASC";
                          if (lkbtnSort.Text.IndexOf("↓") != -1)
                              lkbtnSort.Text = lkbtnSort.Text.Trim().Replace("↓", "↑");
                          else
                              lkbtnSort.Text = lkbtnSort.Text + "↑";
                      }
                  }
                  ViewState["text"] = lkbtnSort.Text;
                  ViewState["id"] = e.CommandName.Trim();
                  IList<Model.DJ_TourGroup> tglist = (IList<Model.DJ_TourGroup>)rptGroups.DataSource;
                  switch (e.CommandName.Trim())
                  {
                      case "lbname":
                          if (ViewState[e.CommandName.Trim()].ToString().Trim() == "ASC")
                              tglist = tglist.OrderBy(x => x.Name).ToList();
                          else
                              tglist = tglist.OrderByDescending(x => x.Name).ToList();
                          break;
                      case "lbdate":
                          if (ViewState[e.CommandName.Trim()].ToString().Trim() == "ASC")
                              tglist = tglist.OrderBy(x => x.BeginDate).ToList();
                          else
                              tglist = tglist.OrderByDescending(x => x.BeginDate).ToList();
                          break;
                      case "lbdays":
                          if (ViewState[e.CommandName.Trim()].ToString().Trim() == "ASC")
                              tglist = tglist.OrderBy(x => x.DaysAmount).ToList();
                          else
                              tglist = tglist.OrderByDescending(x => x.DaysAmount).ToList();
                          break;
                  }
                  rptGroups.DataSource = tglist;
                  rptGroups.DataBind();
              }
          }

    作者:石世特
    出处:http://www.cnblogs.com/TivonStone/
    希望本文对你有所帮助,想转随便转,心情好的话给我的文章留个链接.o(. .)o

  • 相关阅读:
    【?】Hello。。。
    【Calc】对于‘精分’的研究
    [AFO]记五年oi生涯及CSP2019复赛游记
    CF#579div.3
    「BZOJ1827」奶牛大集会
    「BZOJ2821」作诗 && 「BZOJ2724」蒲公英
    「BZOJ4576」262144
    「Bzoj5055」膜法师
    「51nod1689」逛街
    「51nod1681」公共祖先 &&「51nod2553」双重祖先
  • 原文地址:https://www.cnblogs.com/TivonStone/p/2749936.html
Copyright © 2011-2022 走看看