使用其他表单将数据加载到数据网格
本文关键字:数据 加载 数据网 网格 其他 表单 | 更新日期: 2023-09-27 18:00:47
我有两种形式。第一个是frmStudentDetails。它有一个数据网格第二个是frmStudentRegistration。它有一些文本框和添加按钮
当用户输入一些信息并按下"添加"按钮时,我想一个接一个地将这些信息添加到数据网格中
为了实现这一点,我在frmStudentDetails 中创建了以下方法
public void AddRecord(string StID, string Name)
{
DataGridViewRow row = (DataGridViewRow)dgvStDetails.Rows[0].Clone();
row.Cells[0].Value = StID;
row.Cells[1].Value = Name;
dgvStDetails.Rows.Add(row);
}
我在frmStudentRegistration表单的添加按钮上调用了它-->
private void btnAdd_Click(object sender, EventArgs e)
{
frmStudentDetailsForm frm = new frmStudentDetailsForm();
frm.AddRecord(txtStudentID.Text, txtStName.Text);
frm.ShowDialog();
}
然后问题是,itz生成新的表格来显示每一个新记录。但我想把所有记录都添加到一个表单中。
请有人帮我拿
在"frmStudentRegistration"类中,在类级别添加"public frmStuentDetailsForm StudentDetailsForm{get;set;};"属性声明。
将其设置为"frmStudentDetailsForm"类的实例。有几种方法可以做到这一点(即在"frmStudentRegistration"类的自定义构造函数或其"Load"事件处理程序中),但对于新手来说,我建议在实例化"frmSstudentRegistrations"类之后,在调用实例变量的"Show"方法之前设置它。注意:如果您调用"frmStudentRegistration"的"ShowDialog"方法,则对其他表单(即"frmSstudentDetailsForm")的任何更新都不会显示在屏幕上,直到您退出"ShowDialog"或明确调用其他表单的"show"或"ShowDialog"方法。
顺便说一句,我很好奇你为什么从"frmStudentRegistration"调用"frmSStudentDetailsForm"的"ShowDialog"方法。根据我的经验,要么:a)网格的表单会在添加项的表单上调用"ShowDialog",而"添加"选项(即通过按钮、上下文菜单项、插入键和/或输入键(在填写新模板行后))在网格的表单上,要么b)两个表单都会在添加项目的表单上同时保持打开(通过无模型的"显示"方法调用),根据我的经验,你的"frmStudentRegistration"表单将被称为"frmSstudentDetailsForm",而你的"FrmStudentDetailsFForm"将被称之为"frmStudentsForm"、"frmSStudentsListForm"或"frmStudentSummariesForm"等。此外,顺便说一句,.NET命名约定将是"var studentDetailsForm=new studentDetailsForm()"(即后缀与前缀/两者都有,没有缩写)。实际上,如果由我决定,它将是"var StudentDetailsFrmObj=new StudentDetailsFrmCls()"。)
Ex。
In "frmStudentRegistration":
public frmStudentDetailsForm StudentDetailsForm { get; set; }
public void main ()
{
var studentRegistration = new frmStudentRegistration();
var studentDetailsForm = new frmStudentDetailsForm();
studentRegistration.StudentDetailsForm = studentDetailsForm;
studentRegistration.Show();
}
In "frmStudentRegistration":
private void btnAdd_Click(object sender, EventArgs e)
{
StudentDetailsForm.AddRecord(txtStudentID.Text, txtStName.Text);
StudentDetailsForm.ShowDialog();
}