zoukankan      html  css  js  c++  java
  • 运用lambda表达式写分页加组合查、加各种限制

    实体类、数据访问类:

    public class car
    {
       
        public string Code { get; set; }
        public string Name { get; set; }
        public decimal Oil { get; set; }
        public int Powers { get; set; }
        public int Exhaust { get; set; }
        public decimal Price { get; set; }
    }
    public class cardata
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;
        public cardata()
        {
            conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
            cmd = conn.CreateCommand();
        }
        public List<car> SelectAll()
        {
            List<car> clist = new List<car>();
            cmd.CommandText = "select *from car";
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                car c = new car();
                c.Code = dr["code"].ToString();
                c.Name = dr["name"].ToString();
                c.Oil = Convert.ToDecimal(dr["oil"]);
                c.Powers = Convert.ToInt32(dr["powers"]);
                c.Exhaust = Convert.ToInt32(dr["exhaust"]);
                c.Price = Convert.ToDecimal(dr["price"]);
                clist.Add(c);
            }
            conn.Close();
            return clist;
        }
    }

    前端aspx:

    <body>
        <form id="form1" runat="server">
    
         车名:   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="查询" /><br /><br />
    
        <table style=" 100%; text-align: center; background-color: navy;">
                <tr style="color: white;">
          
                    <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("Code") %></td>
                            <td><%#Eval("Name") %></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="Label_now" runat="server" Text="1"></asp:Label>
            ]页&nbsp;&nbsp;
            共[
            <asp:Label ID="Label_max" runat="server" Text=""></asp:Label>
            ]页&nbsp;&nbsp;
            <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="尾页" />
            &nbsp;&nbsp;
            <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server"></asp:DropDownList>
            <asp:Button ID="btn_jump" runat="server" Text="跳转" />
            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
    
    
    
        </form>
    </body>

    后台:

    public partial class _Default : System.Web.UI.Page
    {
        int count = 5;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Repeater1.DataSource = new cardata().SelectAll().Take(count);
                Repeater1.DataBind();
    
                Label_max.Text = max().ToString();
    
                btn_prev.Enabled = false;
    
                DropDownList1.Items.Clear();
                for (int i = 1; i <= Convert.ToInt32(Label_max.Text); i++)
                {
                    ListItem li = new ListItem();
                    li.Value = i.ToString();
                    li.Text = i.ToString();
                    DropDownList1.Items.Add(li);
                }
            }
           
                   
            btn_prev.Click += btn_prev_Click;
            btn_next.Click += btn_next_Click;
            Button1.Click += Button1_Click;
            btn_first.Click += btn_first_Click;
            btn_last.Click += btn_last_Click;
            btn_jump.Click += btn_jump_Click;
        }
    
        void btn_jump_Click(object sender, EventArgs e)
        {
            Label_now.Text = DropDownList1.SelectedValue;
            select(Convert.ToInt32(Label_now.Text));
            if (Label_now.Text == "1")
            {
                btn_next.Enabled = true;
                btn_prev.Enabled = false;
            }
            else if (Label_now.Text == max().ToString())
            {
                btn_next.Enabled = false;
                btn_prev.Enabled = true;
            }
            else
            {
                btn_next.Enabled = true;
                btn_prev.Enabled = true;
            }
        }
    
        void btn_last_Click(object sender, EventArgs e)
        {
            int nowpage = max();
            select(nowpage);
            Label_now.Text = nowpage.ToString();
    
            btn_next.Enabled = false;
            btn_prev.Enabled = true;
        }
    
        void btn_first_Click(object sender, EventArgs e)
        {
            int nowpage = 1;
            select(nowpage);
            Label_now.Text = nowpage.ToString();
    
            btn_next.Enabled = true;
            btn_prev.Enabled = false;
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            int nowpage = 1;
            select(nowpage);
            Label_now.Text = nowpage.ToString();
            Label_max.Text = max().ToString();
    
            btn_prev.Enabled = false;
            if (Label_now.Text == Label_max.Text)
            { btn_next.Enabled = false; }
            else
            { btn_next.Enabled = true; }
    
            DropDownList1.Items.Clear();
            for (int i = 1; i <= Convert.ToInt32(Label_max.Text); i++)
            {
                ListItem li = new ListItem();
                li.Value = i.ToString();
                li.Text = i.ToString();
                DropDownList1.Items.Add(li);
            }
        }
    
        void btn_next_Click(object sender, EventArgs e)
        {
            int nowpage = Convert.ToInt32(Label_now.Text) + 1;
            select(nowpage);
            Label_now.Text = nowpage.ToString();
            if (Convert.ToInt32(Label_now.Text) >= max())
            {
                btn_next.Enabled = false;
            }
            btn_prev.Enabled = true;
        }
    
        void btn_prev_Click(object sender, EventArgs e)
        {
            int nowpage = Convert.ToInt32(Label_now.Text) - 1;
            select(nowpage);
            Label_now.Text = nowpage.ToString();
            if (Convert.ToInt32(Label_now.Text) <= 1)
            {
                btn_prev.Enabled = false;
            }
            btn_next.Enabled = true;
        }
    
    
    
        public void select(int nowpage)
        {
            List<car> clist = new cardata().SelectAll().Where(r => r.Name.Contains(TextBox1.Text)).ToList();
            //clist = clist.Where(r=>r.Price>50 &&r.Price<60||r.Price<30).ToList();
            clist = clist.Skip((nowpage - 1) * count).Take(count).ToList();
            Repeater1.DataSource = clist;
            Repeater1.DataBind();
    
        }
    
        public int max()
        {
            List<car> clist= new cardata().SelectAll().Where(r => r.Name.Contains(TextBox1.Text)).ToList();
            //clist = clist.Where(r => r.Price > 50 && r.Price < 60 || r.Price < 30).ToList();
            int allcount = clist.Count;
            int allnum = Convert.ToInt32(Math.Ceiling(allcount * 1.0 / count * 1.0));
            return allnum;
        }
    
    
    
    
    }
  • 相关阅读:
    利用ADO.NET将XML转换成数据库表
    Oracle10g:如何以DBA身份登陆SQL*Plus
    学会批处理,用心学很容易!
    进一步理解windows任务管理器
    Linux 编程经典书籍推荐
    OracleOraDb10g_home1TNSListener配置问题
    查看当前用户constraint信息
    成就DBA的职业生涯(转载)
    tnsnames.ora 监听配置文件详解
    数据库完整性约束
  • 原文地址:https://www.cnblogs.com/wy1992/p/6904373.html
Copyright © 2011-2022 走看看