首页 技术 正文
技术 2022年11月16日
0 收藏 955 点赞 4,339 浏览 6083 个字

LinQ的组合+分页

前台代码:

        名称:<asp:TextBox ID="Textname" runat="server"></asp:TextBox>
油耗:<asp:TextBox ID="Textoil" runat="server"></asp:TextBox>
马力:<asp:TextBox ID="Textpowers" runat="server"></asp:TextBox>
<asp:Button ID="btncha" runat="server" Text="查询" /><br /><br />
当前第[<asp:Label ID="lb_now" runat="server" Text=""></asp:Label>]页,共[<asp:Label ID="lb_all" runat="server" Text=""></asp:Label>]页
<asp:LinkButton ID="btnfirst" runat="server">首页</asp:LinkButton>
<asp:LinkButton ID="btn_prev" runat="server">上一页</asp:LinkButton> <asp:LinkButton ID="btn_next" runat="server">下一页</asp:LinkButton>
<asp:LinkButton ID="btnlast" runat="server">末页</asp:LinkButton>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"></asp:DropDownList>

CarDA:数据访问类,

mydbDataContext con = new mydbDataContext();
         public List<Car> Select()//查询表所有数据
            {
             return con.Car.ToList();
            }

 public List<Car> Selectname(string n)//查名称的方法
{
return con.Car.Where(r => r.Name.Contains(n)).ToList();
}
public List<Car> Selectoil(decimal o)//查油耗的方法
{
return con.Car.Where(r => r.Oil == o).ToList();
}
public List<Car> Selectpow(int p)//查马力的方法
{
return con.Car.Where(r => r.Powers == p).ToList();
} public List<Car> Fenye(List<Car> list, int s, int t)//查分页的方法s是几条数据,t是几页
{
List<Car> li = con.Car.ToList();//查到所有数据
return li.Intersect(list).Skip(s * t).Take(t).ToList();
}

后台代码:

  int pagenum = ;//每页显示三页
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = new CarDA().Select().Take(pagenum);
Repeater1.DataBind();
lb_now.Text = "";//定义打开显示第一页
lb_all.Text = Math.Ceiling(Convert.ToDouble(new CarDA().Select().Count) / pagenum).ToString();//上限 最大页数 总条数÷一页显示的条数= 总共的页数 for (int i = ; i <= Convert.ToInt32(lb_all.Text); i++)
{
ListItem li = new ListItem(i.ToString(), i.ToString());
DropDownList1.Items.Add(li);//跳转
}
} btncha.Click += btncha_Click;//查询 btn_prev.Click += btn_prev_Click;//上一页
btn_next.Click += btn_next_Click;//下一页
btnfirst.Click += btnfirst_Click;//首页
btnlast.Click += btnlast_Click;//末页
DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;//跳转
} void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{//跳转 int n = Convert.ToInt32(DropDownList1.SelectedItem.Text);//获取索引最小的选定向 lb_now.Text = n.ToString();//当前页数
CarDA ca = new CarDA();
List<Car> list = ca.Select(); if (Textname.Text != "")
{
List<Car> list1 = ca.Selectname(Textname.Text);
list = list.Intersect(list1).ToList();
}
if (Textoil.Text != "")
{
List<Car> list1 = ca.Selectoil(Convert.ToDecimal(Textoil.Text));
list = list.Intersect(list1).ToList();
}
if (Textpowers.Text != "")
{
List<Car> list1 = ca.Selectpow(Convert.ToInt32(Textpowers.Text));
list = list.Intersect(list1).ToList();
} lb_all.Text = Math.Ceiling(Convert.ToDouble(list.Count) / pagenum).ToString();
Repeater1.DataSource = ca.Fenye(list, (Convert.ToInt32(lb_now.Text) - ), pagenum);
Repeater1.DataBind();
} void btnlast_Click(object sender, EventArgs e)
{//末页
CarDA ca = new CarDA();
List<Car> list = ca.Select(); if (Textname.Text != "")
{
List<Car> list1 = ca.Selectname(Textname.Text);
list = list.Intersect(list1).ToList();
}
if (Textoil.Text != "")
{
List<Car> list1 = ca.Selectoil(Convert.ToDecimal(Textoil.Text));
list = list.Intersect(list1).ToList();
}
if (Textpowers.Text != "")
{
List<Car> list1 = ca.Selectpow(Convert.ToInt32(Textpowers.Text));
list = list.Intersect(list1).ToList();
}
lb_now.Text = Math.Ceiling(Convert.ToDouble(list.Count) / pagenum).ToString();
lb_all.Text = Math.Ceiling(Convert.ToDouble(list.Count) / pagenum).ToString();
Repeater1.DataSource = ca.Fenye(list, (Convert.ToInt32(lb_now.Text) - ), pagenum);
Repeater1.DataBind();
} void btnfirst_Click(object sender, EventArgs e)
{//首页
lb_now.Text = "";
CarDA ca = new CarDA();
List<Car> list = ca.Select(); if (Textname.Text != "")
{
List<Car> list1 = ca.Selectname(Textname.Text);
list = list.Intersect(list1).ToList();
}
if (Textoil.Text != "")
{
List<Car> list1 = ca.Selectoil(Convert.ToDecimal(Textoil.Text));
list = list.Intersect(list1).ToList();
}
if (Textpowers.Text != "")
{
List<Car> list1 = ca.Selectpow(Convert.ToInt32(Textpowers.Text));
list = list.Intersect(list1).ToList();
} lb_all.Text = Math.Ceiling(Convert.ToDouble(list.Count) / pagenum).ToString();
Repeater1.DataSource = ca.Fenye(list, (Convert.ToInt32(lb_now.Text) - ), pagenum);
Repeater1.DataBind(); } void btn_next_Click(object sender, EventArgs e)
{//下一页 int a =Convert.ToInt32( lb_now.Text)+;每点一下加1 CarDA ca = new CarDA();
List<Car> list = ca.Select(); if (Textname.Text != "")
{
List<Car> list1 = ca.Selectname(Textname.Text);
list = list.Intersect(list1).ToList();
}
if (Textoil.Text != "")
{
List<Car> list1 = ca.Selectoil(Convert.ToDecimal(Textoil.Text));
list = list.Intersect(list1).ToList();
}
if (Textpowers.Text != "")
{
List<Car> list1 = ca.Selectpow(Convert.ToInt32(Textpowers.Text));
list = list.Intersect(list1).ToList();
}
lb_now.Text = a.ToString();//让现在的页数显示+1之后的数据
lb_all.Text = Math.Ceiling(Convert.ToDouble(list.Count) / pagenum).ToString();
Repeater1.DataSource = ca.Fenye(list, (Convert.ToInt32(lb_now.Text) - ), pagenum);
Repeater1.DataBind(); } void btn_prev_Click(object sender, EventArgs e)
{//上一页
if (Convert.ToInt32(lb_now.Text) > )判断是否可以点上一页
{
int nownum = Convert.ToInt32(lb_now.Text) - ;
CarDA ca = new CarDA();
List<Car> list = ca.Select(); if (Textname.Text != "")
{
List<Car> list1 = ca.Selectname(Textname.Text);
list = list.Intersect(list1).ToList();
}
if (Textoil.Text != "")
{
List<Car> list1 = ca.Selectoil(Convert.ToDecimal(Textoil.Text));
list = list.Intersect(list1).ToList();
}
if (Textpowers.Text != "")
{
List<Car> list1 = ca.Selectpow(Convert.ToInt32(Textpowers.Text));
list = list.Intersect(list1).ToList();
} Repeater1.DataSource = ca.Fenye(list, (nownum - ), pagenum);
Repeater1.DataBind();
lb_now.Text = nownum.ToString();
}
} void btncha_Click(object sender, EventArgs e)
{//查询
lb_now.Text = "";
int nownum = Convert.ToInt32(lb_now.Text);
CarDA ca = new CarDA();
List<Car> list = ca.Select(); if (Textname.Text != "")
{
List<Car> list1 = ca.Selectname(Textname.Text);
list = list.Intersect(list1).ToList();
}
if (Textoil.Text != "")
{
List<Car> list1 = ca.Selectoil(Convert.ToDecimal(Textoil.Text));
list = list.Intersect(list1).ToList();
}
if (Textpowers.Text != "")
{
List<Car> list1 = ca.Selectpow(Convert.ToInt32(Textpowers.Text));
list = list.Intersect(list1).ToList();
}
lb_all.Text = Math.Ceiling(Convert.ToDouble(list.Count) / pagenum).ToString();
DropDownList1.Items.Clear();
for (int i = ; i <= Convert.ToInt32(lb_all.Text); i++)
{
ListItem li = new ListItem(i.ToString(), i.ToString());
DropDownList1.Items.Add(li);
}
Repeater1.DataSource = ca.Fenye(list, (nownum - ), pagenum);
Repeater1.DataBind();
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,356
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,139
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848