C#重构之修改学生信息

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37508531/article/details/82903171

前言

  对学生的信息进行维护的时候会涉及到对学生信息的修改,那如何确定要修改的是哪个学生的信息呢?这里就涉及到了从一个窗体的DataGridView控件选中值后把值传给另一个窗体上,现在我们一起来看一下是如何实现的吧!

详解

  之前咱们了解过如何在DataGridView控件中插入第0列,这里就不再赘述,选中第0列之后,单击修改应该出现修改信息的窗体,并且该窗体的显示如下:
在这里插入图片描述
  窗体显示出来之后,因为要显示的信息都已经在DataGridView控件中,所以修改窗体上应该有这些信息,而且这些信息中只有“年级、学院、专业”是可以更改的,其他的应该都不可以更改。

  可不可更改的这个很好设置,那现在的问题就是选中一行数据之后怎么把这行数据传到修改信息的窗体上呢?

  1)在查询学生信息的窗体中:实例化实体层,然后把DataGridView控件里的值传给实体的属性值

Entity.UserInfo StuInfo = new Entity.UserInfo();

StuInfo.cardno = this.dataGridView1.Rows[i].Cells[1].Value.ToString();    //把选中的学生的卡号赋值为cardno
StuInfo.UserName = this.dataGridView1.Rows[i].Cells[2].Value.ToString();
StuInfo.Sex = this.dataGridView1.Rows[i].Cells[3].Value.ToString().Trim();
StuInfo.Department = this.dataGridView1.Rows[i].Cells[4].Value.ToString();
StuInfo.Grade = this.dataGridView1.Rows[i].Cells[5].Value.ToString();
StuInfo.Specialty = this.dataGridView1.Rows[i].Cells[6].Value.ToString();                        
StuInfo.Balance = this.dataGridView1.Rows[i].Cells[7].Value.ToString();

  2)在修改学生窗体中:定义全局变量

public string cardno;
public string UserName;
public string Sex;
public string Department;
public string Grade;
public string Specialfy;
public string Balance;

  3)在查询学生信息的窗体中:实例化修改学生窗体,并把实体的属性值赋值给学生窗体中的全局变量

frmModify frmModify = new frmModify();

frmModify.cardno = StuInfo.cardno;
frmModify.UserName = StuInfo.UserName;
frmModify.Sex = StuInfo.Sex;
frmModify.Department = StuInfo.Department;
frmModify.Grade = StuInfo.Grade;
frmModify.Specialfy = StuInfo.Specialty;
frmModify.Balance = StuInfo.Balance;

frmModify.Show();

  4)在修改学生窗体中:修改学生窗体登录的时候把全局变量的值传到各个控件中即可

txtcardNo.Text = cardno;
txtstudentName.Text = UserName;
cboSex.Text = Sex;
cbodepartment.Text = Department;
cbograde.Text = Grade;
cbospecialty.Text = Specialfy;
txtBalance.Text = Balance;

  如此一来,就会得到刚开始的窗体了,可以对里面的Text属性进行修改,修改完成之后更新到数据库就可以了。

结语

  我的传值过程中定义了很多的全局变量,这不是最佳的实现方法,但是暂时可以满足我们的功能需要,不知道大家有没有什么更好的办法呢?欢迎交流。

猜你喜欢

转载自blog.csdn.net/m0_37508531/article/details/82903171
今日推荐