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

  • 相关阅读:
    大整数乘除法
    java大神进阶之路
    自定义Swap
    指针基础详解
    已知前序中序求后序(转载)
    杭电1003_Max Sum
    回溯法求解迷宫问题
    linux下安装QQ等EXE文件
    java工程中使用freemarker例子
    maven自动部署到tomcat的问题
  • 原文地址:https://www.cnblogs.com/TivonStone/p/2749936.html
Copyright © 2011-2022 走看看