【2017-06-02】Linq高级查询,实现分页组合查询。
1、以XXX开头
2、以XXX结尾
3、模糊查询
4、求个数
5、求最大值
6、求最小值
7、求平均值
8、求和
9、升序
10、降序
11、分页
Skip()跳过多少条
Take()取多少条
12、分页组合查询
界面部分
- <form id="form1" runat="server">
- <div>
- 车名:<asp:TextBox ID="txt_carname" runat="server"></asp:TextBox>
- 油耗:<asp:DropDownList ID="dr_oil" runat="server">
- <asp:ListItem Text="大于" Value=">"></asp:ListItem>
- <asp:ListItem Text="小于" Value="<"></asp:ListItem>
- <asp:ListItem Text="等于" Value="="></asp:ListItem>
- <asp:ListItem Text="大于等于" Value=">="></asp:ListItem>
- <asp:ListItem Text="大于等于" Value=">="></asp:ListItem>
- </asp:DropDownList>
- <asp:TextBox ID="txt_oil" runat="server"></asp:TextBox>
- 价格:<asp:DropDownList ID="dr_price" runat="server">
- <asp:ListItem Text="全部" Value="null"></asp:ListItem>
- <asp:ListItem Text="小于30万" Value=""></asp:ListItem>
- <asp:ListItem Text="30-40万" Value=""></asp:ListItem>
- <asp:ListItem Text="40-50万" Value=""></asp:ListItem>
- <asp:ListItem Text="大于50万" Value=""></asp:ListItem>
- </asp:DropDownList>
- <asp:Button ID="Button1" runat="server" Text="查询" />
- <table style="width: 100%; background-color: navy; text-align: center">
- <tr style="height: 40px; color: white;">
- <td>id</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("oil") %></td>
- <td><%#Eval("powers") %></td>
- <td><%#Eval("price") %></td>
- </tr>
- </ItemTemplate>
- </asp:Repeater>
- </table>
- 当前第【 <asp:Label ID="lab_nownumber" runat="server" Text=""></asp:Label> 】页,一共【 <asp:Label ID="lab_maxnumber" runat="server" Text=""></asp:Label> 】页。
- <asp:Button ID="btn_first" runat="server" Text="首页" /><asp:Button ID="btn_prev" runat="server" Text="上一页" /><asp:Button ID="btn_next" runat="server" Text="下一页" /><asp:Button ID="btn_last" runat="server" Text="尾页" />
- </div>
- </form>
后台代码
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- public partial class Main : System.Web.UI.Page
- {
- int PageCount = ;
- protected void Page_Load(object sender, EventArgs e)
- {
- Button1.Click += Button1_Click;
- btn_first.Click += btn_first_Click;
- btn_next.Click += btn_next_Click;
- btn_prev.Click += btn_prev_Click;
- btn_last.Click += btn_last_Click;
- if (!IsPostBack)
- {
- using (Data0216DataClassesDataContext con = new Data0216DataClassesDataContext())
- {
- Repeater1.DataSource = Data().Skip().Take(PageCount);
- Repeater1.DataBind();
- lab_maxnumber.Text = Max().ToString();
- }
- }
- }
- void btn_last_Click(object sender, EventArgs e)
- {
- Repeater1.DataSource = Data().Skip((Max() - ) * PageCount);
- Repeater1.DataBind();
- lab_nownumber.Text = Max().ToString();
- lab_maxnumber.Text = Max().ToString();
- }
- void btn_prev_Click(object sender, EventArgs e)
- {
- int a = Convert.ToInt32(lab_nownumber.Text) - ;
- if (a > )
- {
- Repeater1.DataSource = Data().Skip((a - ) * PageCount).Take(PageCount);
- Repeater1.DataBind();
- lab_nownumber.Text = a.ToString();
- lab_maxnumber.Text = Max().ToString();
- }
- }
- void btn_next_Click(object sender, EventArgs e)
- {
- int a = Convert.ToInt32(lab_nownumber.Text) + ;
- if (a <= Max())
- {
- Repeater1.DataSource = Data().Skip((a - ) * PageCount).Take(PageCount);
- Repeater1.DataBind();
- lab_nownumber.Text = a.ToString();
- lab_maxnumber.Text = Max().ToString();
- }
- }
- void btn_first_Click(object sender, EventArgs e)
- {
- Repeater1.DataSource = Data().Skip().Take(PageCount);
- Repeater1.DataBind();
- lab_nownumber.Text = "";
- lab_maxnumber.Text = Max().ToString();
- }
- void Button1_Click(object sender, EventArgs e)
- {
- Repeater1.DataSource = Data().Skip().Take(PageCount);
- Repeater1.DataBind();
- lab_nownumber.Text = "";
- lab_maxnumber.Text = Max().ToString();
- }
- public List<car> Data()
- {
- using (Data0216DataClassesDataContext con = new Data0216DataClassesDataContext())
- {
- List<car> clist = con.car.ToList();
- if (txt_carname.Text.Trim().Length > )
- {
- clist = clist.Where(r => r.name.Contains(txt_carname.Text.Trim())).ToList();
- }
- if (txt_oil.Text.Trim().Length > )
- {
- if (dr_oil.SelectedValue == ">")
- clist = clist.Where(r => r.oil > Convert.ToDecimal(txt_oil.Text)).ToList();
- if (dr_oil.SelectedValue == "<")
- clist = clist.Where(r => r.oil < Convert.ToDecimal(txt_oil.Text)).ToList();
- if (dr_oil.SelectedValue == ">=")
- clist = clist.Where(r => r.oil >= Convert.ToDecimal(txt_oil.Text)).ToList();
- if (dr_oil.SelectedValue == "<=")
- clist = clist.Where(r => r.oil <= Convert.ToDecimal(txt_oil.Text)).ToList();
- if (dr_oil.SelectedValue == "=")
- clist = clist.Where(r => r.oil == Convert.ToDecimal(txt_oil.Text)).ToList();
- }
- if (dr_price.SelectedValue != "null")
- {
- if (dr_price.SelectedValue == "")
- clist = clist.Where(r => r.price < ).ToList();
- if (dr_price.SelectedValue == "")
- clist = clist.Where(r => r.price >= && r.price < ).ToList();
- if (dr_price.SelectedValue == "")
- clist = clist.Where(r => r.price >= && r.price < ).ToList();
- if (dr_price.SelectedValue == "")
- clist = clist.Where(r => r.price >= ).ToList();
- }
- return clist;
- }
- }
- public int Max()
- {
- return Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(Data().Count) / PageCount));
- }
- }
【2017-06-02】Linq高级查询,实现分页组合查询。的更多相关文章
- Linq组合查询与分页组合查询结合
1.组合查询 <div>姓名:<asp:TextBox ID="T1" runat="server"></asp:TextBox& ...
- ASP.NETMVC4 分页组合查询解决方法
本人新手刚在webform转到mvc 像linq ef啥的,都是不会的不行不行的,不会就问群友,找资料 今天本屌遇到了一个分页组合查询的问题,解决了2个小时,把代码共享给大家 话不多话,直接上代 ...
- webform:分页组合查询
一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql"& ...
- Webform(Linq高级查、分页、组合查询)
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...
- linq分页组合查询
一.linq高级查 1.模糊查(字符串包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r = ...
- Webform--LinQ 分页组合查询
一.linq高级查 1.模糊查(字符串包含) public List<User> Select(string name) { return con.User.Where(r => r ...
- ASP.NET 分页+组合查询 练习
分页和组合查询都是通过拼接SQL语句到数据库查询进行实现 到汽车表(car)中查询 ,汽车表选取了“编号 code”,“车名 name”,“日期 time”,“油耗 oil ”,“马力 powers” ...
- 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历
分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...
- 013.子查询和分页子查询(sql实例)
--1 子查询 如果子查询和表连接都实现的时候,推荐用表连接实现( 一般:能用表连接实现的就用表连接,有些情况用表连接不能 或者不易实现的再选择子查询) 系统:缓存,执行计划技术手段 --1 wher ...
随机推荐
- Spring Boot设置定时任务
在 http://start.spring.io/ 中新建一个Group为com.zifeiy,Artifact为task的工程. 然后在TaskApplication中添加注释:@EnableSch ...
- leetcode 区间合并
个区间若能合并,则第一个区间的右端点一定不小于第二个区间的左端点.所以先把区间集合按照左端点从小到大进行排序,接着从第一个区间开始遍历,对每个区间执行如下操作: 1.首先保存该区间的左端点start和 ...
- 实例节点的NTP服务器地址配置正确,而且能够ping通, 但是在chronyc sources指令中显示NTP服务器状态为“?”
问题:如果实例节点的NTP服务器地址配置正确,而且能够ping通, 但是在chronyc sources指令中显示NTP服务器状态为“?”, 该如何检查并操作. 1)在chrony配置文件中,检查 ...
- 自学电脑游戏第三天(Swing组件)
Swing组件 1.按钮(Jbutton) 示例:选择用户所喜欢的城市. import java.awt.*; import java.awt.event.*; import javax.swing. ...
- Flutter、Weex、RN,Native对比
- kafka2.10集群搭建(一)
一.kafka集群搭建 1.上传解压 2.配置文件的配置 1.修改 server.properties文件 broker.id=11 #192.168.199.11 #21 一般使用ip后三位 lis ...
- oracle 创建新用户,授权dba
1.用有dba权限的用户登录:sys用户 2.创建一个新用户:create user abc identified by 123456; 3.授予DBA权限: grant connect,resour ...
- 【AtCoder】ARC069
ARC069 C - Scc Puzzle --不说了 #include <bits/stdc++.h> #define fi first #define se second #defin ...
- javaweb关于用户是否登录全局判断,没有登录跳转到登录界面
有这样一个需求,用户密码登录网站,在session中保留了用户的信息,但是用户很长时间没有再操作该界面,用户的session则被浏览器清除,而一些业务逻辑则是需要用到用户的信息,那么用户再执行操作后, ...
- (八)动态 sql
目录 什么是动态 sql sql 片段 foreach 标签 什么是动态 sql 我们之前在映射文件中,配置 sql 的时候,其实都是静态的 : <!--复杂查询--> <selec ...