文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

DataGridView控件怎么在C#项目中使用

2023-06-08 01:06

关注

DataGridView控件怎么在C#项目中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1) 创建课程信息表创建课程信息表的 SQL 语句如下。

use test;create table course(  id int primary key identity(1,1),  name varchar(20),  credit numeric(3,1),  remark varchar(50));

向表中添加数据的语句如下。

insert into course (name, credit, remark) values ('计算机基石 ' , 2, '无');insert into course (name, credit, remark) values ('C# 程序开发', 2.5 , '机房授课');insert into course (name, credit, remark) values ('数据库原理',1,'无');insert into course (name, credit, remark) values ('体育',1,'无');insert into course (name, credit, remark) values ('职业素养培训',0.5,'无');

在 SQL Server 中执行上述 SQL 语句即可完成课程信息表(course)的创建和数据的添加。

2) 课程信息管理界面的设计在课程信息管理界面中提供了 DataGridView 控件用于显示课程信息,并提供了根据课程名称查找课程信息、修改以及删除的功能。

具体的界面设计如下图所示。

DataGridView控件怎么在C#项目中使用

3) 在加载窗体时显示所有课程信息本例中使用编写代码的方式实现 DataGridView 控件的数据绑定,并在窗体的加载事件中加入数据绑定的代码。

由于查询所有课程信息的代码将在后面的修改和删除功能中重复使用,所以单独定义一个方法来实现查询所有课程信息。代码如下。

//窗体加载事件private void DataGridViewForm_Load(object sender, EventArgs e){  //调用查询全部课程的方法  QueryAllCourse();  }//查询全部课程private void QueryAllCourse(){  //数据库连接串  string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root";  //创建SqlConnection的实例  SqlConnection conn = null;  try  {    conn = new SqlConnection(connStr);    //打开数据库    conn.Open();    string sql = "select * from course";    //创建SqlDataAdapter类的对象    SqlDataAdapter sda = new SqlDataAdapter(sql, conn);    //创建DataSet类的对象    DataSet ds = new DataSet();    //使用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 (Exception ex)  {    MessageBox.Show("查询错误!" + ex.Message);  }  finally  {    if (conn != null)    {      //关闭数据库连接      conn.Close();    }  }}

运行该窗体,效果如下图所示。

DataGridView控件怎么在C#项目中使用

4) 完成课程名称的模糊查询在“查询”按钮的单击事件中加入根据课程名称模糊查询的代码,具体如下。

//查询按钮单击事件private void button1_Click(object sender, EventArgs e){  if (textBox1.Text != "")  {    //数据库连接串    string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root";    //创建SqlConnection的实例    SqlConnection conn = null;    try    {      conn = new SqlConnection(connStr);      //打开数据库      conn.Open();      string sql = "select * from course where name like '%{0}%'";      //填充占位符      sql = string.Format(sql, textBox1.Text);      //创建SqlDataAdapter类的对象      SqlDataAdapter sda = new SqlDataAdapter(sql, conn);      //创建DataSet类的对象      DataSet ds = new DataSet();      //使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中      sda.Fill(ds);      //设置表格控件的DataSource属性      dataGridView1.DataSource = ds.Tables[0];    }    catch (Exception ex)    {      MessageBox.Show("出现错误!" + ex.Message);    }    finally    {      if (conn != null)      {        //关闭数据库连接        conn.Close();      }    }  }}

运行该窗体,查询效果如下图所示。

DataGridView控件怎么在C#项目中使用

从上面的运行效果可以看出,在文本框中输入“计算机”,则可以实现查询所有课程 名称中含有“计算机”字样的课程信息。

5) 实现修改功能在 DataGridView 控件中选中一条课程信息,单击“修改”按钮,弹出修改课程信息界面并在该界面中显示要修改的信息,修改界面的设计如下图所示。

DataGridView控件怎么在C#项目中使用

选中 DataGridView 控件的一条课程信息,单击“修改”按钮。

“修改”按钮的单击事件中的代码如下。//修改课程信息private void button2_Click(object sender, EventArgs e){  //获取DataGridView控件中的值  //获取课程编号  string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();  //获取课程名称  string name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();  //获取课程名称  string credit = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();  //获取课程名称  string remark = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();  //创建updateForm类的对象,并将课程信息传递给修改界面  updateForm updateform = new updateForm(id, name, credit, remark);  //弹出修改信息窗口  DialogResult dr = updateForm.ShowDialog();  //判断是否单击确定按钮  if (dr == DialogResult.OK)  {    //调用查询全部课程方法    QueryAllCourse();  }}

修改界面 (UpdateForm) 中的代码如下。

//带参数的构造方法public updateForm(string id,string name,string credit,string remark){  InitializeComponent();  textBox1.Text = id;  textBox2.Text = name;  textBox3.Text = credit;  textBox4.Text = remark;}//确认按钮单击事件private void button1_Click(object sender, EventArgs e){  //数据库连接串  string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root";  //创建SqlConnection的实例  SqlConnection conn = null;  try  {    conn = new SqlConnection(connStr);    //打开数据库    conn.Open();    string sql = "update course set name='{0}',credit='{1}',remark='{2}' where id='{3}'";    //填充占位符    sql = string.Format(sql, textBox2.Text, textBox3.Text, textBox4.Text, textBox1.Text);    //创建SqlCommand类的对象    SqlCommand cmd = new SqlCommand(sql, conn);    //执行修改操作的SQL    cmd.ExecuteNonQuery();    //弹出成功提示    MessageBox.Show("修改成功!");    //设置当前窗体DislogResult结果为OK    this.DialogResult = DialogResult.OK;    //关闭窗体    this.Close();  }  catch (Exception ex)  {    MessageBox.Show("修改失败!" + ex.Message);  }  finally  {    if (conn != null)    {      //关闭数据库连接      conn.Close();    }  }}//取消按钮单击事件private void button2_Click(object sender, EventArgs e){  //关闭窗体  this.Close();}

修改操作的运行效果如下图所示。

DataGridView控件怎么在C#项目中使用

6) 实现删除功能为“删除”按钮添加单击事件,将选中的课程信息删除并刷新界面中查询出来的数据。实现的代码如下。

//删除按钮的单击事件private void button3_Click(object sender, EventArgs e){  //获取DataGridView控件中选中行的编号列的值  int id = int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString());  //数据库连接串  string connStr = "Data Source=.;Initial Catalog=test;User ID=sa;Password=root";  //创建SqlConnection的实例  SqlConnection conn = null;  try  {    conn = new SqlConnection(connStr);    //打开数据库    conn.Open();    string sql = "delect from course where id='{0}'";    //填充占位符    sql = string.Format(sql, id);    //创建SqlCommand类的对象    SqlCommand cmd = new SqlCommand(sql, conn);    //执行SQL语句    cmd.ExecuteNonQuery();    //弹出消息提示删除成功    MessageBox.Show("删除成功!");    //调用查询全部的方法,刷新DataGridView控件中的数据    QueryAllCourse();  }  catch (Exception ex)  {    MessageBox.Show("删除失败!" + ex.Message);  }  finally  {    if (conn != null)    {      //关闭数据库连接      conn.Close();    }  }}

删除操作的运行效果如下图所示。

DataGridView控件怎么在C#项目中使用

单击删除消息框中的“确定”按钮,'即可刷新 DataGridView 控件中的数据。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯