using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace LinqToSql
{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } DataClasses1DataContext da = new DataClasses1DataContext(); private void Form1_Load(object sender, EventArgs e)
{ var query = from job in da.jobs select job; dataGridView1.DataSource = query.Take(4); } int index=1; private void btnFirst_Click(object sender, EventArgs e) { //首页 index = 1; var query = from job in da.jobs select job; dataGridView1.DataSource = query.Take(4); } private void btnNext_Click(object sender, EventArgs e)
{ //下一页 var query = from job in da.jobs select job; int count = query.Count();//计算总记录数 int n = count % 4 > 0 ? count / 4 + 1 : count / 4;//计算总页数
if (index <n) { ++index; dataGridView1.DataSource = query.Skip(4 * (index - 1)).Take(4); }//若在总页数之内,返回下一页 } private void btnPre_Click(object sender, EventArgs e)
{ //上一页 var query = from job in da.jobs select job; if (index == 1)
{ dataGridView1.DataSource = query.Take(4);//当当前为第一页时,仍返回当前页 } else { --index; dataGridView1.DataSource = query.Skip(4 * (index - 1)).Take(4);//返回上一页 //第二种方法
//dataGridView1.DataSource = query.Skip(4 * (index - 2)).Take(4); } } private void btnLast_Click(object sender, EventArgs e)
{ //末页 var query = from job in da.jobs select job; int count= query.Count();//计算总记录数 index = count % 4 > 0 ? count / 4 + 1 : count / 4;//设置最后一页的索引为当前索引 dataGridView1.DataSource = query.Skip(4 * (index - 1)).Take(4);//显示最后一页 }
private void btnAdd_Click(object sender, EventArgs e)
{ //增加 var query = from job1 in da.jobs select job1; int count = query.Count(); index = count % 4 > 0 ? count / 4 + 1 : count / 4;//设置最后一页为当前页的索引 jobs job = new jobs { max_lvl=250, min_lvl=120, job_desc="微软高级工程师"};//新增记录 da.jobs.InsertOnSubmit(job); da.SubmitChanges();//提交更改 //刷新 方法一
//var query1 = from job1 in da.jobs // select job1; //int count = query1.Count(); //if (count % 4 == 1) //{ // dataGridView1.DataSource = query1.Skip(4 * (index)).Take(4); // index++; //} //else //{ // dataGridView1.DataSource = query1.Skip(4 * (index - 1)).Take(4); //} //刷新 方法二
var query2 = from job1 in da.jobs select job1; int count2 = query2.Count(); index = count2 % 4 > 0 ? count2 / 4 + 1 : count2 / 4; dataGridView1.DataSource = query2.Skip(4 * (index - 1)).Take(4); }
private void btnDel_Click(object sender, EventArgs e)
{ //删除 var query = from job in da.jobs orderby job.job_id descending select job; //把最后一页设为当前页
int count = query.Count(); index = count % 4 > 0 ? count / 4 + 1 : count / 4; //删除最后一个元素
jobs jobDel = query.First();//获取最后一个元素 da.jobs.DeleteOnSubmit(jobDel);//实现删除 da.SubmitChanges();//提交更改 //刷新
var query1 = from job in da.jobs select job; int count2= query1.Count(); if (count2 % 4 == 0) { dataGridView1.DataSource = query1.Skip(4 * (index - 2)).Take(4);//如果删除完当前页的元素,则返回到上一页 index--;//设置当前索引 } else { dataGridView1.DataSource = query1.Skip(4 * (index - 1)).Take(4);//当前页仍有元素时,仍停留在当前页 } } private void btnUpdate_Click(object sender, EventArgs e)
{ var query = from job in da.jobs orderby job.job_id descending select job; jobs job1= query.First(); job1.job_desc = "IBM高级工程师"; da.SubmitChanges(); }
} } |
|