前端代码

<%@ Page Language="C#" AutoEventWireup="true" Debug="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="DatePicker/WdatePicker.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<br />
编号:<asp:TextBox ID="code_text" style="width:50px;" runat="server"></asp:TextBox>
汽车名:<asp:TextBox ID="carname_text" runat="server"></asp:TextBox>
系列:<asp:TextBox ID="brand_text" runat="server"></asp:TextBox>
时间段:<asp:TextBox ID="date_text1" class="date" runat="server"></asp:TextBox>至
<asp:TextBox ID="date_text2" class="date" runat="server"></asp:TextBox><br />
油耗:<asp:DropDownList ID="dr_oil" runat="server">
<asp:ListItem Text="全部" Value="null"></asp:ListItem>
<asp:ListItem Text="大于8.0" Value="dayu8.0"></asp:ListItem>
<asp:ListItem Text="5.0到8.0" Value="5.0zhi8.0"></asp:ListItem>
<asp:ListItem Text="低于5.0" Value="diyu5.0"></asp:ListItem>
</asp:DropDownList>
排量:<asp:TextBox ID="p_text1" runat="server"></asp:TextBox>至
<asp:TextBox ID="p_text2" runat="server"></asp:TextBox>
价格:<asp:TextBox ID="price_text1" runat="server"></asp:TextBox>至
<asp:TextBox ID="price_text2" runat="server"></asp:TextBox>
<asp:Button ID="btn_select" runat="server" Text="查询" />
<br /><br />
<table style="width:100%;background-color:navy;">
<tr style="font-size:25px;color:white;">
<td>Ids</td>
<td>编号</td>
<td>汽车名</td>
<td>系列</td>
<td>时间</td>
<td>油耗</td>
<td>马力</td>
<td>排量</td>
<td>价格</td>
</tr> <asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr style="background-color:white;">
<td><%#Eval("ids") %></td>
<td><%#Eval("code") %></td>
<td><%#Eval("name") %></td>
<td><%#Eval("brand") %></td>
<td><%#Eval("time") %></td>
<td><%#Eval("oil") %></td>
<td><%#Eval("powers") %></td>
<td><%#Eval("exhaust") %></td>
<td><%#Eval("price") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table> 当前第[<asp:Label ID="lable_now" runat="server" Text=""></asp:Label>]页,共[<asp:Label ID="lable_zong" runat="server" Text=""></asp:Label>]页
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
<asp:Button ID="btn_begin" runat="server" Text="首页" />
<asp:Button ID="btn_prev" runat="server" Text="上一页" />
<asp:Button ID="btn_next" runat="server" Text="下一页" />
<asp:Button ID="btn_end" runat="server" Text="尾页" />
&nbsp; &nbsp; &nbsp; &nbsp;
<asp:DropDownList ID="dr_jump" runat="server"></asp:DropDownList>
<asp:Button ID="btn_jump" runat="server" Text="跳转" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
var date = document.getElementsByClassName("date");
for (var i = ; i < date.length; i++)
{
date[i].onfocus = function () {
WdatePicker({ readOnly: true, maxDate: '%y-%M-%d' });
}
}
</script>

后端代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page
{
//每一页 显示多少条数据 5条
int pagecount = ; #region 页面加载时 绑定的数据
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ Repeater1.DataSource = SelectToList().Take(pagecount);
Repeater1.DataBind();
lable_now.Text = ""; } // 绑定事件
btn_select.Click += btn_select_Click;
btn_begin.Click += btn_begin_Click;
btn_end.Click += btn_end_Click;
btn_next.Click += btn_next_Click;
btn_prev.Click += btn_prev_Click;
btn_jump.Click += btn_jump_Click;
#endregion
} void btn_jump_Click(object sender, EventArgs e)
{
int a = Convert.ToInt32(dr_jump.SelectedValue);
if (a == )
{
btn_begin.Visible = false;
btn_prev.Visible = false;
btn_end.Visible = true;
btn_next.Visible = true;
}
else if (a.ToString() == lable_zong.Text)
{
btn_end.Visible = false;
btn_next.Visible = false;
btn_begin.Visible = true;
btn_prev.Visible = true;
}
else
{
btn_begin.Visible = true;
btn_prev.Visible = true;
btn_end.Visible = true;
btn_next.Visible = true;
}
Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
Repeater1.DataBind();
lable_now.Text = a.ToString();
} void btn_prev_Click(object sender, EventArgs e)
{ int a = Convert.ToInt32(lable_now.Text) - ;
//假设到 首页 上一页 和 首页隐藏
if (a < )
{
btn_begin.Visible = false;
btn_prev.Visible = false;
return;
}
btn_begin.Visible = true;
btn_prev.Visible = true;
btn_end.Visible = true;
btn_next.Visible = true;
Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
Repeater1.DataBind();
lable_now.Text = a.ToString();
} void btn_next_Click(object sender, EventArgs e)
{ int a = Convert.ToInt32(lable_now.Text) + ;
//假设到尾页时 下一页和尾页隐藏
if (a > Convert.ToInt32(lable_zong.Text))
{ btn_end.Visible = false;
btn_next.Visible = false;
return;
}
btn_begin.Visible = true;
btn_prev.Visible = true;
btn_end.Visible = true;
btn_next.Visible = true;
Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
Repeater1.DataBind();
lable_now.Text = a.ToString();
} void btn_end_Click(object sender, EventArgs e)
{
//假设到尾页时 下一页和尾页隐藏 上一页和首页显示
btn_end.Visible = false;
btn_next.Visible = false;
btn_begin.Visible = true;
btn_prev.Visible = true;
//数据显示尾页数据
int a = Convert.ToInt32(lable_zong.Text);
Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
Repeater1.DataBind();
lable_now.Text = a.ToString();
} void btn_begin_Click(object sender, EventArgs e)
{
//假设 到首页时 上一页和首页隐藏
btn_begin.Visible = false;
btn_prev.Visible = false;
btn_end.Visible = true;
btn_next.Visible = true;
//数据 首页 数据绑定
Repeater1.DataSource = SelectToList().Take(pagecount);
Repeater1.DataBind();
lable_now.Text = "";
} void btn_select_Click(object sender, EventArgs e)
{ lable_now.Text = "";
Repeater1.DataSource = SelectToList().Take(pagecount);
Repeater1.DataBind();
} //查询数据的方法
public List<car> SelectToList()
{
using (CarDataContext con = new CarDataContext())
{
List<car> clist = con.car.ToList();
//编号 code
if (code_text.Text.Trim().Length > )
{
//包含 code
clist = clist.Where(r => r.code.Contains(code_text.Text.Trim())).ToList();
}
//查汽车名
if (carname_text.Text.Trim().Length > )
{ clist = clist.Where(r => r.name.Contains(carname_text.Text.Trim())).ToList();
}
//查时间段
if (date_text1.Text.Trim().Length > )
{
clist = clist.Where(r => Convert.ToDateTime(r.time).Date >= Convert.ToDateTime(date_text1.Text).Date).ToList(); }
if (date_text2.Text.Trim().Length > )
{
clist = clist.Where(r => Convert.ToDateTime(r.time).Date <=Convert.ToDateTime(date_text2.Text).Date).ToList();
}
//查油耗 oil
if (dr_oil.SelectedValue == "dayu8.0")
{
clist = clist.Where(r => Convert.ToDecimal(r.oil) >= Convert.ToDecimal(8.0)).ToList();
}
else if (dr_oil.SelectedValue == "5.0zhi8.0")
{
clist = clist.Where(r => Convert.ToDecimal(r.oil) > Convert.ToDecimal(5.0) && Convert.ToDecimal(r.oil) < Convert.ToDecimal(8.0)).ToList();
}
else if (dr_oil.SelectedValue == "diyu5.0")
{
clist = clist.Where(r => Convert.ToDecimal(r.oil) <= Convert.ToDecimal(5.0)).ToList();
}
//查 排量exhaus列
if (p_text1.Text.Trim().Length > )
{
clist = clist.Where(r => Convert.ToInt32(r.exhaust) >= Convert.ToInt32(p_text1.Text.Trim())).ToList();
}
if (p_text2.Text.Trim().Length > )
{
clist = clist.Where(r => Convert.ToInt32(r.exhaust) <= Convert.ToInt32(p_text2.Text.Trim())).ToList();
}
//查价格price
if (price_text1.Text.Trim().Length > )
{
clist = clist.Where(r => Convert.ToDecimal(r.price) >= Convert.ToDecimal(price_text1.Text.Trim())).ToList();
}
if (price_text2.Text.Trim().Length > )
{
clist = clist.Where(r => Convert.ToDecimal(r.price) <= Convert.ToDecimal(price_text2.Text.Trim())).ToList();
}
int a = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(clist.Count) / pagecount));
lable_zong.Text = a.ToString(); dr_jump.Items.Clear();
for (int i = ; i <= a; i++)
{
ListItem li = new ListItem(i.ToString(), i.ToString());
dr_jump.Items.Add(li);
} return clist;
}
} }

LINQ 组合查询 和分页查询的使用的更多相关文章

  1. Linq高级查询,分页查询及查询分页结合

    一.高级查询与分页查询 1.以...开头    StartsWith Repeater1.DataSource=con.Users.Where(r=>r.Nickname.StartsWith( ...

  2. SQL Server -- 回忆笔记(四):case函数,索引,子查询,分页查询,视图,存储过程

    SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程 1. CASE函数(相当于C#中的Switch) then '未成年人' else '成年人' end f ...

  3. MySQL——优化嵌套查询和分页查询

    优化嵌套查询 嵌套查询(子查询)可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中.嵌套查询写起来简单,也容易理解.但是,有时候可以被更有效率的连接(JOIN ...

  4. SQL语句or查询,union all查询,分页查询,分组,AND查询

    一.OR查询 1.在AND多个筛选条件和一个or条件时,如果没有括号包裹,or会就近原则包裹之后的所有and条件,也就是同级的多个and条件只能对,or条件的一边起作用 2.如果or条件两边的筛选条件 ...

  5. DQL---连接查询(内连接、外连接)、子查询、分页查询

    一.连接查询 1.连接查询建立在有相互关系的两个表间,进行两个及两个以上的表或视图的查询. 2.对n张表进行查询,至少需要n-1个连接表的条件. 二.笛卡尔积(容易造成数据库宕机) 1.指表中每行元素 ...

  6. hibernate总记录数查询和分页查询

    //参考代码 //第一种方法: String hql = "select count(*) from User as user"; Integer count = (Integer ...

  7. TP条件查询和分页查询

    一.条件查询 前端页面 <!doctype html> <html> <head> <meta charset="utf-8"> & ...

  8. Oracle子查询相关内容(包含TOP-N查询和分页查询)

    本节介绍Oracle子查询的相关内容: 实例用到的数据为oracle中scott用户下的emp员工表,dept部门表,数据如下: 一.子查询 1.概念:嵌入在一个查询中的另一个查询语句,也就是说一个查 ...

  9. mysql-in关键字,分组查询,分页查询

    1. in关键字,组查询 # 使用or来查询的化,不方便而且参数一多比较傻 select * from users where id=1 or id=2 or id=4; select * from ...

  10. Elasticsearch教程(九) elasticsearch 查询数据 | 分页查询

    Elasticsearch  的查询很灵活,并且有Filter,有分组功能,还有ScriptFilter等等,所以很强大.下面上代码: 一个简单的查询,返回一个List<对象> ..    ...

随机推荐

  1. mogilefs分布式文件存储

    MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发.Danga团队开发了包括 Memcached.MogileFS.Perlbal ...

  2. Java日志:集成slf4j和logback

    Java日志方案有很多,包括:java.util.logging.Apache的commons-logging和log4j.slf4j以及logback. 一个大型项目会用到众多第三方jar包,这些j ...

  3. 清除@SessionAttributes 网站实现退出登录

    在网站实现登录时,我认识了@SessionAttributes,对我来说是真的好用,@SessionAttributes注解可以使得模型中的数据存储一份到session域中. 这样在页面跳转时可以直接 ...

  4. 8. php回调后门

    中国菜刀下载,基于原版中国菜刀优化版20160309. 下载地址: http://pan.baidu.com/s/1jHoJxHW China chopper http://pan.baidu.com ...

  5. SQL Server等待事件新解

    资源等待类型 并行:CXPACKET Buffer:PAGEIOLATCH_X 非Buffer:LATCH_X I/O:ASYNC_IO_COMPITION:IO_COMPITION CPU:SOS_ ...

  6. 用matplotlib画线

    1:matplotlib基础 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形[1] . 通过 Matplotlib,开发者可以 ...

  7. Python:asyncio模块学习

    python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程.无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态 ...

  8. git从远程仓库gitLab上拉取指定分支到本地仓库

    例如:将gitLab 上的dev分支拉取到本地 1>与远程仓库建立连接:git remote add origin XXXXX.git 2>使用git branch 查看本地是否具有dev ...

  9. 使用PowerDesigner创建物理模型并生成SQL语句在MySQL中生成表

    我使用的PowerDesigner的版本为16.5,创建物理模型后,使用PowerDesigner生成的SQL语句,在MySQL中创建表. 1. 打开Power Designer软件,在弹出的欢迎对话 ...

  10. jzoj6001. 【PKUWC2019模拟2019.1.15】Mines (tarjan)

    题面 题解 我们把每个地雷向它能炸到的地雷连边,不难发现同一个强联通分量里的点只要一个炸全炸 那么我们缩点,首先所有入度为\(0\)的强联通分量中必须得选一个地雷炸掉,而入度不为\(0\)的强联通分量 ...