前端代码

<%@ 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. InnoSetup自动检测并安装.Net Framework

    InnoSetup可在在脚本中插入[Code]代码段,其中的代码可以通过事件驱动,支持的主要事件如下: function InitializeSetup(): Boolean; ——安装程序初始化,返 ...

  2. 常用的Elasticseaerch检索技巧汇总

    本篇博客是对前期工作中遇到ES坑的一些小结,顺手记录下,方便日后查阅. 0.前言 为了讲解不同类型ES检索,我们将要对包含以下类型的文档集合进行检索: . title 标题: . authors 作者 ...

  3. 【机器学习】决策树C4.5、ID3

    一.算法流程 step1:计算信息熵 step2: 划分数据集 step3: 创建决策树 step4: 利用决策树分类 二.信息熵Entropy.信息增益Gain 重点:选择一个属性进行分支.注意信息 ...

  4. Halcon - 数据类型

    这里给大家分享 Halcon 的数据类型结构图,方便初学者认知 Halcon 图1 Halcon Datatype

  5. ASP.NET Core MVC 视图

    ASP.NET Core MVC中视图的知识和ASP.NET MVC有很多相似之处,学习难度较低.以下内容主要体现了编程中模块化的思想,模块化才应是我们关注的重点. Layout 布局用于提供各个页面 ...

  6. Fenwick Tree / Binary Indexed Tree

    Motivation: Given a 1D array of n elements. [2, 5, -1, 3, 6] range sum query: what's the sum from 2n ...

  7. GDB 远程调试Linux (CentOS)

    1.引用: https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/ 注意安装gdbserv ...

  8. 2014-10-24 NOIP欢乐赛

    10-24NOIP欢乐赛 ——By 潘智力 题目名称 分火腿 无聊的会议 班服 时间限制 1s 1s 1s 内存限制 64MB 128MB 128MB 输入文件 hdogs.in meeting.in ...

  9. codevs1051接龙游戏

    1051 接龙游戏  

  10. VUE之环境安装

    一.环境安装 软件安装: nodejs https://nodejs.org/en/ vscode https://code.visualstudio.com/docs/?dv=win python- ...