Linq数据分页

来源:百度文库 编辑:神马文学网 时间:2024/04/29 02:48:46
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        DataClasses1DataContext data = new DataClasses1DataContext();
        int index = 1;
        private void Form1_Load(object sender, EventArgs e)
        {
            index = 1;
            var query = from job in data.jobs
                        orderby job.job_id ascending
                        select job;
            this.dgridview1.DataSource = query.Skip(5 * (index - 1)).Take(5);
        }        private void fistpage_Click(object sender, EventArgs e)
        {
            //index=1;多表查询
            //var query = from job in data.jobs
            //            join emp in data.employee
            //            on job.job_id equals emp.job_id
            //            orderby job.job_id ascending
            //            select new { job.job_id, job.job_desc, job.max_lvl, job.min_lvl, emp.lname };
            //this.dgridview1.DataSource = query.Skip(5 * (index - 1)).Take(5);
            index = 1;
            var query = from job in data.jobs                        orderby job.job_id ascending
                        select job;
            this.dgridview1.DataSource = query.Skip(5 * (index - 1)).Take(5);
        }        private void prewpage_Click(object sender, EventArgs e)
        {
            var query = from job in data.jobs                        orderby job.job_id ascending
                        select job;
            var count = query.Count();//使用count得到数据库中记录的条数。
            var lastpage = count % 5 == 0 ? count / 5 : count / 5 + 1;
            if (index > 1)
            {
                --index;
            }
            if (index < 1)
            {
              
                index = 1;
            }
            this.dgridview1.DataSource = query.Skip(5 * (index - 1)).Take(5);
          
        }        private void nextpage_Click(object sender, EventArgs e)
        {
           
            var query = from job in data.jobs
                        orderby job.job_id ascending
                        select job;
            var count = query.Count();
            var lastpage = count % 5 == 0 ? count / 5 : count / 5 + 1;
            if (index < lastpage)
            {
                ++index;
            }
            if (index > lastpage)
            {
               
                index = lastpage;
            }
            this.dgridview1.DataSource = query.Skip(5 * (index - 1)).Take(5);
        }        private void lastpage_Click(object sender, EventArgs e)
        {
            var query = from job in data.jobs                        orderby job.job_id ascending
                        select job;
            var count = query.Count();
            var lastpage = count % 5 == 0 ? count / 5 : count / 5 + 1;
            index = lastpage;
            this.dgridview1.DataSource = query.Skip(5 * (index - 1)).Take(5);
        }        private void add_Click(object sender, EventArgs e)
        {
            //增
            jobs job = new jobs {job_desc="程序员", max_lvl=235,min_lvl=23 };
            data.jobs.InsertOnSubmit(job);
            data.SubmitChanges();
            //刷新显示当前页
            //var query = from job2 in data.jobs            //            orderby job.job_id ascending
            //            select job2;
            //var count = query.Count();
            //index = count % 5 == 0 ? count / 5 : count / 5 + 1;
            //this.dgridview1.DataSource = query.Skip(5 * (index - 1)).Take(5);        }        private void delete_Click(object sender, EventArgs e)
        {
            var query = from job in data.jobs                        orderby job.job_id descending
                        select job;
            jobs tempjob=query.First();
            data.jobs.DeleteOnSubmit(tempjob);
            data.SubmitChanges();
        }        private void change_Click(object sender, EventArgs e)
        {
            var query = from job in data.jobs                        orderby job.job_id descending
                        select job;
            jobs tempjob = query.First();
            tempjob.job_desc = "工程师";
            data.SubmitChanges();        }
       
       
    }