C#数据表格(DataGridView)控件的应用案例
usetest; createtablecourse ( idintprimarykeyidentity(1,1), namevarchar(20), creditnumeric(3,1), remarkvarchar(50) );
向表中添加数据的语句如下。
insertintocourse(name,credit,remark)values('计算机基石',2,'无'); insertintocourse(name,credit,remark)values('C#程序开发',2.5,'机房授课'); insertintocourse(name,credit,remark)values('数据库原理',1,'无'); insertintocourse(name,credit,remark)values('体育',1,'无'); insertintocourse(name,credit,remark)values('职业素养培训',0.5,'无');
在SQLServer中执行上述SQL语句即可完成课程信息表(course)的创建和数据的添加。
2)课程信息管理界面的设计在课程信息管理界面中提供了DataGridView控件用于显示课程信息,并提供了根据课程名称查找课程信息、修改以及删除的功能。
具体的界面设计如下图所示。
3)在加载窗体时显示所有课程信息本例中使用编写代码的方式实现DataGridView控件的数据绑定,并在窗体的加载事件中加入数据绑定的代码。
由于查询所有课程信息的代码将在后面的修改和删除功能中重复使用,所以单独定义一个方法来实现查询所有课程信息。代码如下。
//窗体加载事件 privatevoidDataGridViewForm_Load(objectsender,EventArgse) { //调用查询全部课程的方法 QueryAllCourse(); } //查询全部课程 privatevoidQueryAllCourse() { //数据库连接串 stringconnStr="DataSource=.;InitialCatalog=test;UserID=sa;Password=root"; //创建SqlConnection的实例 SqlConnectionconn=null; try { conn=newSqlConnection(connStr); //打开数据库 conn.Open(); stringsql="select*fromcourse"; //创建SqlDataAdapter类的对象 SqlDataAdaptersda=newSqlDataAdapter(sql,conn); //创建DataSet类的对象 DataSetds=newDataSet(); //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中 sda.Fill(ds); //设置表格控件的DataSource属性 dataGridView1.DataSource=ds.Tables[0]; //设置数据表格上显示的列标题 dataGridView1.Columns[0].HeaderText="编号"; dataGridView1.Columns[1].HeaderText="课程名称"; dataGridView1.Columns[2].HeaderText="学分"; dataGridView1.Columns[3].HeaderText="备注"; //设置数据表格为只读 dataGridView1.ReadOnly=true; //不允许添加行 dataGridView1.AllowUserToAddRows=false; //背景为白色 dataGridView1.BackgroundColor=Color.White; //只允许选中单行 dataGridView1.MultiSelect=false; //整行选中 dataGridView1.SelectionMode=DataGridViewSelectionMode.FullRowSelect; } catch(Exceptionex) { MessageBox.Show("查询错误!"+ex.Message); } finally { if(conn!=null) { //关闭数据库连接 conn.Close(); } } }
运行该窗体,效果如下图所示。
4)完成课程名称的模糊查询在“查询”按钮的单击事件中加入根据课程名称模糊查询的代码,具体如下。
//查询按钮单击事件 privatevoidbutton1_Click(objectsender,EventArgse) { if(textBox1.Text!="") { //数据库连接串 stringconnStr="DataSource=.;InitialCatalog=test;UserID=sa;Password=root"; //创建SqlConnection的实例 SqlConnectionconn=null; try { conn=newSqlConnection(connStr); //打开数据库 conn.Open(); stringsql="select*fromcoursewherenamelike'%{0}%'"; //填充占位符 sql=string.Format(sql,textBox1.Text); //创建SqlDataAdapter类的对象 SqlDataAdaptersda=newSqlDataAdapter(sql,conn); //创建DataSet类的对象 DataSetds=newDataSet(); //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中 sda.Fill(ds); //设置表格控件的DataSource属性 dataGridView1.DataSource=ds.Tables[0]; } catch(Exceptionex) { MessageBox.Show("出现错误!"+ex.Message); } finally { if(conn!=null) { //关闭数据库连接 conn.Close(); } } } }
运行该窗体,查询效果如下图所示。
“修改”按钮的单击事件中的代码如下。 //修改课程信息 privatevoidbutton2_Click(objectsender,EventArgse) { //获取DataGridView控件中的值 //获取课程编号 stringid=dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); //获取课程名称 stringname=dataGridView1.SelectedRows[0].Cells[1].Value.ToString(); //获取课程名称 stringcredit=dataGridView1.SelectedRows[0].Cells[2].Value.ToString(); //获取课程名称 stringremark=dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); //创建updateForm类的对象,并将课程信息传递给修改界面 updateFormupdateform=newupdateForm(id,name,credit,remark); //弹出修改信息窗口 DialogResultdr=updateForm.ShowDialog(); //判断是否单击确定按钮 if(dr==DialogResult.OK) { //调用查询全部课程方法 QueryAllCourse(); } }
修改界面(UpdateForm)中的代码如下。
//带参数的构造方法 publicupdateForm(stringid,stringname,stringcredit,stringremark) { InitializeComponent(); textBox1.Text=id; textBox2.Text=name; textBox3.Text=credit; textBox4.Text=remark; } //确认按钮单击事件 privatevoidbutton1_Click(objectsender,EventArgse) { //数据库连接串 stringconnStr="DataSource=.;InitialCatalog=test;UserID=sa;Password=root"; //创建SqlConnection的实例 SqlConnectionconn=null; try { conn=newSqlConnection(connStr); //打开数据库 conn.Open(); stringsql="updatecoursesetname='{0}',credit='{1}',remark='{2}'whereid='{3}'"; //填充占位符 sql=string.Format(sql,textBox2.Text,textBox3.Text,textBox4.Text,textBox1.Text); //创建SqlCommand类的对象 SqlCommandcmd=newSqlCommand(sql,conn); //执行修改操作的SQL cmd.ExecuteNonQuery(); //弹出成功提示 MessageBox.Show("修改成功!"); //设置当前窗体DislogResult结果为OK this.DialogResult=DialogResult.OK; //关闭窗体 this.Close(); } catch(Exceptionex) { MessageBox.Show("修改失败!"+ex.Message); } finally { if(conn!=null) { //关闭数据库连接 conn.Close(); } } } //取消按钮单击事件 privatevoidbutton2_Click(objectsender,EventArgse) { //关闭窗体 this.Close(); }
修改操作的运行效果如下图所示。
6)实现删除功能为“删除”按钮添加单击事件,将选中的课程信息删除并刷新界面中查询出来的数据。实现的代码如下。
//删除按钮的单击事件 privatevoidbutton3_Click(objectsender,EventArgse) { //获取DataGridView控件中选中行的编号列的值 intid=int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString()); //数据库连接串 stringconnStr="DataSource=.;InitialCatalog=test;UserID=sa;Password=root"; //创建SqlConnection的实例 SqlConnectionconn=null; try { conn=newSqlConnection(connStr); //打开数据库 conn.Open(); stringsql="delectfromcoursewhereid='{0}'"; //填充占位符 sql=string.Format(sql,id); //创建SqlCommand类的对象 SqlCommandcmd=newSqlCommand(sql,conn); //执行SQL语句 cmd.ExecuteNonQuery(); //弹出消息提示删除成功 MessageBox.Show("删除成功!"); //调用查询全部的方法,刷新DataGridView控件中的数据 QueryAllCourse(); } catch(Exceptionex) { MessageBox.Show("删除失败!"+ex.Message); } finally { if(conn!=null) { //关闭数据库连接 conn.Close(); } } }
删除操作的运行效果如下图所示。
单击删除消息框中的“确定”按钮,'即可刷新DataGridView控件中的数据。<上一页C#DataGridViewC#DataGridView应用案例下一页>
到此这篇关于C#数据表格(DataGridView)控件的应用案例的文章就介绍到这了,更多相关C#DataGridView应用内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!