zoukankan      html  css  js  c++  java
  • LinQ 组合查分页

    页面中代码 js光棒效果

    <form id="form1" runat="server">
        昵称:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            性别:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            出生年份:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="查询" /><br />
            <a target="_blank" href="Insert.aspx">添加</a>   
            <asp:repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table id="table" style="background-color:navy;100%;text-align:center;">
                    <tr id="t-head" style="color:white;">
                    <td>用户名</td>
                     <td>密码</td>
                     <td>昵称</td>
                     <td>性别</td>
                     <td>生日</td>
                     <td>民族</td>
                    <td>操作</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                  <tr class="t-item" style="background-color:white;">
                    <td><%#Eval("UserName") %></td>
                     <td><%#Eval("Pword") %></td>
                     <td><%#Eval("NickName") %></td>
                     <td ><%#Eval("Sexpic") %></td>
                     <td><%#Eval("Birthday","{0:yyyy年MM月dd日}") %></td>
                     <td><%#Eval("NationName") %></td> 
                      <td>
                          <a onclick="return del();" href="Delete.aspx?id=<%#Eval("UserName") %>">删除</a>
                          <a target="_blank" href="Update.aspx?id=<%#Eval("UserName") %>">修改</a>
                      </td>     
                    </tr>
            </ItemTemplate>
            <FooterTemplate>
                   </table>
            </FooterTemplate>
        </asp:repeater>
            <asp:HiddenField ID="HiddenField1" runat="server" />
            <asp:HiddenField ID="HiddenField2" runat="server" />
            <asp:HiddenField ID="HiddenField3" runat="server" />
            当前第【<asp:Label ID="Label_now" runat="server" Text="Label"></asp:Label>】页 
            共【<asp:Label ID="Label_max" runat="server" Text="Label"></asp:Label>】页
            <asp:LinkButton ID="LinkButton_prev" runat="server">上一页</asp:LinkButton>
            <asp:LinkButton ID="LinkButton_next" runat="server">下一页</asp:LinkButton>
            <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
            <asp:Button ID="Button2" runat="server" Text="跳转" />
        </form>
    
    
    
    
    <script>
        var item = document.getElementsByClassName("t-item");
        for (var v = 0; v < item.length; v++) {
            item[v].onmouseover = function () {
                if (this.style.backgroundColor == "white")
                this.style.backgroundColor = "yellow";//移入变黄色
            };
            item[v].onmouseout = function () {
                if (this.style.backgroundColor == "yellow")
                this.style.backgroundColor = "white";//移出变白色
            };
            item[v].onclick = function () {
                for (var j = 0; j < item.length; j++)
                {
                    item[j].style.backgroundColor = "white";
                }
                this.style.backgroundColor = "red";//点击变红色
            };
        }
    </script>
    页面代码 

    后台封装查询方法 

     1  private IQueryable<Users> Select(Data0720DataContext con)
     2     {
     3         IQueryable<Users> ALL = con.Users.AsQueryable();
     4         if (HiddenField1.Value.Length > 0)//文本框输入有内容 取集合的交集
     5         {
     6             var Namelist = con.Users.Where(r => r.NickName.Contains(TextBox1.Text.Trim()));
     7             ALL = ALL.Intersect(Namelist);
     8         }
     9         if (HiddenField2.Value == "" || HiddenField2.Value == "")
    10         {
    11             var sexlist = con.Users.Where(r => Convert.ToBoolean(r.Sex) == (TextBox2.Text.Trim() == "" ? true : false));
    12             ALL = ALL.Intersect(sexlist);
    13         }
    14         if (HiddenField3.Value.Length > 0)
    15         {
    16             try
    17             {
    18                 int year = Convert.ToInt32(TextBox3.Text.Trim());
    19                 var yearlist = con.Users.Where(r => Convert.ToDateTime(r.Birthday).Year == year);
    20                 ALL = ALL.Intersect(yearlist);
    21             }
    22             catch
    23             {
    24             }
    25         }
    26         return ALL;
    27     }
    查询方法

    后台封装求最大页数的方法

     1 public int MaxPageNumber()
     2     {
     3         using (Data0720DataContext con = new Data0720DataContext())
     4         {
     5             var All = Select(con);
     6             double nu = All.ToList().Count / (Pagecount * 1.0);
     7             int num = Convert.ToInt32(Math.Ceiling(nu));
     8             return num;
     9 
    10         }
    11     }
    求最大页数

    后台绑定数据

     1 int Pagecount = 2;//定义每页显示的数据条数
     2     protected void Page_Load(object sender, EventArgs e)
     3     {
     4         if (!IsPostBack)
     5         {
     6 
     7             using (Data0720DataContext con = new Data0720DataContext())
     8             {
     9                 Repeater1.DataSource = Select(con).Take(Pagecount);
    10                 Repeater1.DataBind();
    11                 Label_now.Text = "1";
    12                 Label_max.Text = MaxPageNumber().ToString();
    13             }
    14         }
    15         Button1.Click += Button1_Click;//查询
    16         LinkButton_prev.Click += LinkButton_prev_Click;//上一页
    17         LinkButton_next.Click += LinkButton_next_Click;//下一页
    18         Button2.Click += Button2_Click;//跳转
    19     }
    绑定数据

    查询

     1 void Button1_Click(object sender, EventArgs e)//查询
     2     {
     3         HiddenField1.Value = TextBox1.Text.Trim();
     4         HiddenField2.Value = TextBox2.Text.Trim();
     5         HiddenField3.Value = TextBox3.Text.Trim();
     6         using (Data0720DataContext con = new Data0720DataContext())
     7         {
     8             var All = Select(con);
     9 
    10             Repeater1.DataSource = All.Take(Pagecount).ToList();
    11             Repeater1.DataBind();
    12             Label_now.Text = "1";
    13             Label_max.Text = MaxPageNumber().ToString();
    14         }
    15     }
    查询按钮

    下一页

     1 void LinkButton_next_Click(object sender, EventArgs e)//下一页
     2     {
     3         int NowNumber = Convert.ToInt32(Label_now.Text) + 1;
     4 
     5         using (Data0720DataContext con = new Data0720DataContext())
     6         {
     7             var All = Select(con);
     8             Repeater1.DataSource = All.Skip(Pagecount * (NowNumber - 1)).Take(Pagecount).ToList();
     9             Repeater1.DataBind();
    10         }
    11         if (NowNumber > Convert.ToInt32(Label_max.Text))
    12         {
    13             return;
    14         }
    15         Label_now.Text = NowNumber.ToString();
    16     }
    下一页

    上一页 

     1 void LinkButton_prev_Click(object sender, EventArgs e)//上一页
     2     {
     3         int NowNumber = Convert.ToInt32(Label_now.Text) - 1;
     4         if (NowNumber <= 1)
     5         {
     6             return;
     7         }
     8         using (Data0720DataContext con = new Data0720DataContext())
     9         {
    10             var All = Select(con);
    11             Repeater1.DataSource = All.Skip(Pagecount * (NowNumber - 1)).Take(Pagecount).ToList();
    12             Repeater1.DataBind();
    13         }
    14 
    15         Label_now.Text = NowNumber.ToString();
    16     }
    上一页

    跳转到那一页

     1 void Button2_Click(object sender, EventArgs e)//跳转
     2     {
     3         using (Data0720DataContext con = new Data0720DataContext())
     4         {
     5             var All = Select(con);
     6             Repeater1.DataSource = All.Skip(Pagecount * (Convert.ToInt32(TextBox4.Text) - 1)).Take(Pagecount).ToList();
     7             Repeater1.DataBind();
     8         }
     9         Label_now.Text = TextBox4.Text;
    10     }
    跳转

     页面显示

  • 相关阅读:
    CS224n, lec 10, NMT & Seq2Seq Attn
    CS231n笔记 Lecture 11, Detection and Segmentation
    CS231n笔记 Lecture 10, Recurrent Neural Networks
    CS231n笔记 Lecture 9, CNN Architectures
    CS231n笔记 Lecture 8, Deep Learning Software
    CS231n笔记 Lecture 7, Training Neural Networks, Part 2
    pytorch坑点排雷
    Sorry, Ubuntu 17.10 has experienced an internal error
    VSCode配置python插件
    tmux配置与使用
  • 原文地址:https://www.cnblogs.com/fuze/p/6382419.html
Copyright © 2011-2022 走看看