zoukankan      html  css  js  c++  java
  • 分页与组合查询

    一、分页查询

        DataClassesDataContext data = new DataClassesDataContext();
        int counts = 3;
        protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Click += Button1_Click;
            Button2.Click += Button2_Click;
            Button3.Click += Button3_Click;
            Button4.Click += Button4_Click;
            Label2.Text = maxpage().ToString();//显示总页码if (!IsPostBack)
            {
                Label1.Text = "1";//设置当前页码显示
                bind(counts, 0);
                Button1.Enabled = false;
                Button2.Enabled = false;
                if (Label1.Text == Label2.Text)
                {
                    Button3.Enabled = false;
                    Button4.Enabled = false;
                }
            }
        }/// <summary>
        /// 首页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button1_Click(object sender, EventArgs e)
        {
            bind(counts, 0);//绑定数据
            Label1.Text = "1";
            //首页中首页和上一页按钮不可用
            Button1.Enabled = false;
            Button2.Enabled = false;
            Button3.Enabled = true;
            Button4.Enabled = true;
        }
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button2_Click(object sender, EventArgs e)
        {
            int page = Convert.ToInt32(Label1.Text) - 2;//获取页码
            bind(counts, page);
            Label1.Text = (page + 1).ToString();//显示当前页
            //到达第一页时首页和上一页按钮不可用
            if (Label1.Text == "1")
            {
                Button1.Enabled = false;
                Button2.Enabled = false;
            }
            Button3.Enabled = true;
            Button4.Enabled = true;
        }
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button3_Click(object sender, EventArgs e)
        {
            int page = Convert.ToInt32(Label1.Text);
            bind(counts, page);
            Label1.Text = (page + 1).ToString();
            Button1.Enabled = true;
            Button2.Enabled = true;
            //到达最后一页时末页和下一页按钮不可用
            if (Label1.Text == Label2.Text)
            {
                Button3.Enabled = false;
                Button4.Enabled = false;
            }
        }
        /// <summary>
        /// 末页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button4_Click(object sender, EventArgs e)
        {
            bind(counts, maxpage() - 1);//绑定查询数据
            Label1.Text = Label2.Text;
            //末页中下一页和末页按钮不可用
            Button1.Enabled = true;
            Button2.Enabled = true;
            Button3.Enabled = false;
            Button4.Enabled = false;
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        /// <param name="count"></param>
        /// <param name="page"></param>
        public void bind(int count, int page)
        {
            Repeater1.DataSource = (from message in data.goods select new { ID = message.ID, name = message.name, price = message.price, counts = message.counts }).Skip(counts * page).Take(counts);
            Repeater1.DataBind();
        }
        /// <summary>
        /// 最大页
        /// </summary>
        /// <returns></returns>
        public int maxpage()
        {
            int sum = data.goods.Count();
            int page = sum / counts;
            int Page = sum % counts > 0 ? 1 : 0;
            int pages = page + Page;
            return pages;
        }

    二、分页与组合查询

        int count = 3;
        studentsDataContext stu = new studentsDataContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Click += Button1_Click;
            Button2.Click += Button2_Click;
            Button3.Click += Button3_Click;
            Button4.Click += Button4_Click;
            Button5.Click += Button5_Click;
            if (!IsPostBack)
            {
                Label1.Text = "1";
                Label2.Text = max().ToString();
                bind(count, 0);
            }
        }
        /// <summary>
        /// 首页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button1_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text.Trim().Length == 0 && TextBox2.Text.Trim().Length == 0 && TextBox3.Text.Trim().Length == 0 && TextBox4.Text.Trim().Length == 0 && TextBox5.Text.Trim().Length == 0)
            {
                Label1.Text = "1";
                bind(count, 0);
            }
            else
            {
                List<score> lists = Data(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text);
                Label1.Text = "1";
                Label2.Text = max(lists).ToString();
                bind(lists, count, 0);
            }
        }
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button2_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text.Trim().Length == 0 && TextBox2.Text.Trim().Length == 0 && TextBox3.Text.Trim().Length == 0 && TextBox4.Text.Trim().Length == 0 && TextBox5.Text.Trim().Length == 0)
            {
                int page = Convert.ToInt32(Label1.Text) - 2;
                Label1.Text = (page + 1).ToString();
                bind(count, page);
            }
            else
            {
                List<score> lists = Data(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text);
                int page = Convert.ToInt32(Label1.Text) - 2;
                Label1.Text = (page + 1).ToString();
                Label2.Text = max(lists).ToString();
                bind(lists, count, 0);
            }
        }
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button3_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text.Trim().Length == 0 && TextBox2.Text.Trim().Length == 0 && TextBox3.Text.Trim().Length == 0 && TextBox4.Text.Trim().Length == 0 && TextBox5.Text.Trim().Length == 0)
            {
                int page = Convert.ToInt32(Label1.Text);
                Label1.Text = (page + 1).ToString();
                bind(count, page);
            }
            else
            {
                List<score> lists = Data(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text);
                int page = Convert.ToInt32(Label1.Text);
                Label1.Text = (page + 1).ToString();
                Label2.Text = max(lists).ToString();
                bind(lists, count, 0);
            }
        }
        /// <summary>
        /// 末页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button4_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text.Trim().Length == 0 && TextBox2.Text.Trim().Length == 0 && TextBox3.Text.Trim().Length == 0 && TextBox4.Text.Trim().Length == 0 && TextBox5.Text.Trim().Length == 0)
            {
                int page = max() - 1;
                Label1.Text = Label2.Text;
                bind(count, page);
            }
            else
            {
                List<score> lists = Data(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text);
                int page = max(lists);
                Label1.Text = (page + 1).ToString();
                Label2.Text = max(lists).ToString();
                bind(lists, count, 0);
            }
        }
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Button5_Click(object sender, EventArgs e)
        {
            List<score> lists = Data(TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text);
            Label1.Text = "1";
            Label2.Text = max(lists).ToString();
            bind(lists, count, 0);
        }
        /// <summary>
        /// 没有查询条件时的数据绑定
        /// </summary>
        /// <param name="count"></param>
        /// <param name="page"></param>
        public void bind(int count, int page)
        {
            Repeater1.DataSource = stu.score.Skip(count * page).Take(count);
            Repeater1.DataBind();
            Button1.Enabled = true;
            Button2.Enabled = true;
            Button3.Enabled = true;
            Button4.Enabled = true;
            if (Label1.Text == "1")
            {
                Button1.Enabled = false;
                Button2.Enabled = false;
            }
            if (Label1.Text == max().ToString())
            {
                Button3.Enabled = false;
                Button4.Enabled = false;
            }
        }
        /// <summary>
        /// 有查询条件时的数据绑定
        /// </summary>
        /// <param name="List"></param>
        /// <param name="count"></param>
        /// <param name="page"></param>
        public void bind(List<score> List, int count, int page)
        {
            Repeater1.DataSource = List.Skip(count * page).Take(count);
            Repeater1.DataBind();
            Button1.Enabled = true;
            Button2.Enabled = true;
            Button3.Enabled = true;
            Button4.Enabled = true;
            if (Label1.Text == "1")
            {
                Button1.Enabled = false;
                Button2.Enabled = false;
            }
            if (Label1.Text == max(List).ToString())
            {
                Button3.Enabled = false;
                Button4.Enabled = false;
            }
        }
        /// <summary>
        /// 没有查询条件时的最大页
        /// </summary>
        /// <returns></returns>
        public int max()
        {
            int sum = stu.score.Count();
            int page = sum / count;
            int pages = sum % count > 0 ? 1 : 0;
            int Page = page + pages;
            return Page;
        }
        /// <summary>
        /// 有查询条件的最大页
        /// </summary>
        /// <param name="List"></param>
        /// <returns></returns>
        public int max(List<score> List)
        {
            int sum = List.Count();
            int page = sum / count;
            int pages = sum % count > 0 ? 1 : 0;
            int Page = page + pages;
            return Page;
        }
        /// <summary>
        /// 组合查询方法
        /// </summary>
        /// <param name="text1"></param>
        /// <param name="text2"></param>
        /// <param name="text3"></param>
        /// <param name="text4"></param>
        /// <param name="text5"></param>
        /// <returns></returns>
        public List<score> Data(string text1, string text2, string text3, string text4, string text5)
        {
            var list1 = stu.score.AsQueryable();
            var list2 = stu.score.AsQueryable();
            var list3 = stu.score.AsQueryable();
            var list4 = stu.score.AsQueryable();
            var list5 = stu.score.AsQueryable();
            if (TextBox1.Text.Trim().Length > 0)
            {
                list1 = list1.Where(s => s.student.name.Contains(text1));
            }
            if (TextBox2.Text.Trim().Length > 0)
            {
                list2 = list2.Where(s => s.student.nation1.naname.Contains(text2));
            }
            if (TextBox3.Text.Trim().Length > 0)
            {
    
                list3 = list3.Where(s => Convert.ToDateTime(s.student.birth).Year == Convert.ToInt32(text3));
    
            }
            if (TextBox4.Text.Trim().Length > 0)
            {
                list4 = list4.Where(s => s.subject.subname == text4);
            }
            if (TextBox5.Text.Trim().Length > 0)
            {
                if (DropDownList1.Text == ">")
                {
                    list5 = list5.Where(s => s.score1 > Convert.ToDecimal(text5));
                }
                else if (DropDownList1.Text == "=")
                {
                    list5 = list5.Where(s => s.score1 == Convert.ToDecimal(text5));
                }
                else
                {
                    list5 = list5.Where(s => s.score1 < Convert.ToDecimal(text5));
                }
            }
            var list = list1.Intersect(list2).Intersect(list3).Intersect(list4).Intersect(list5);
            List<score> lists = list.ToList();
            return lists;
        }
  • 相关阅读:
    关于winform动态创建button等控件以及规定行列
    Winform调用系统计算器、记事本
    悲催的一晚
    C#winform从数据集导出Excel(带指定Excel样式) 转+修改
    C#一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第100位数是多少, 用递归算法实现。
    C#任意输入一个数,判断这个数是否跟数组里的数相等
    构建一个web应用系统应该分为哪几个步骤
    ios XMPP GCDAsynSocket线程溢出挂掉程序
    Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“apsenvironment”的权利字符串" UserInfo=0x22f6a0 {NSLocalizedDescription=未找到应用程序的“apsenvironment”的权利字符串
    ios推送php服务器端pem文件
  • 原文地址:https://www.cnblogs.com/bosamvs/p/5757721.html
Copyright © 2011-2022 走看看