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

  • 相关阅读:
    CMDB-实例
    linux ( crontab 定时任务命令)
    2014编程之美初赛第一场题解
    单机与分布式OpenVAS在BackTrack上的配置(实验报告)
    Hadoop 2.2.0 在Red Hat Enterprise Linux 6.1 上的分布式配置(VMware虚拟机,1个namenode,2个datanode)
    Red Hat Enterprise Linux 6.1 的 JDK 1.7 安装
    TopCoder SRM 606 Div2 题解
    HDU 1561 The more, The Better (树形DP)
    HDU 2196 Computer (树形DP)
    HDU 1520 Anniversary party (树形DP)
  • 原文地址:https://www.cnblogs.com/TivonStone/p/2749936.html
Copyright © 2011-2022 走看看