如何将 DataGridView.Rows.Columns 的值从 Form 2 获取到 Form 1
How to get values of DataGridView.Rows.Columns from Form 2 to Form 1
- DataGridView - 放置在表单中 - 2
- TextBox1 - 放置在表格中 - 1
我想访问 Form - 1 中的数据网格视图行和列值并显示在文本框中。
我在下面写这段代码:
Form2 form2 = new Form2();
DataGridView data = new DataGridView();
data = form2.qualitySetupDataGridView;
MessageBox.Show(data.Rows[0].Cells[1].Value.ToString());
错误信息:索引超出范围。必须为非负数且小于集合的大小。
参数名称:index
注意:DataGridView 修饰符设置为 public。我在 form-2 中放置的 DataGridView 中有 3-4 条记录。
您正在 Form1 中创建 Form2 的新实例,因此有一个空的 DatagridView。您应该传递 DatagridView 的当前实例,例如:
表格 1:
Fawad 已编辑:
您忘记了创建对象:这可以完成工作,但它会弹出表单 2 并等待一秒钟以获取数据,然后重新关闭,这并不完美,但可以完成工作。
Form2 f2 = new Form2();
Form2.Show();
Form2.Hide();
Form2 f = Application.OpenForms.OfType<Form2>().ElementAt<Form2>(0); //Get current open Form2
DataGridView data = f.qualitySetupDataGridView;
MessageBox.Show(data.Rows[0].Cells[1].Value.ToString());
- DataGridView - 放置在表单中 - 2
- TextBox1 - 放置在表格中 - 1
我想访问 Form - 1 中的数据网格视图行和列值并显示在文本框中。
我在下面写这段代码:
Form2 form2 = new Form2();
DataGridView data = new DataGridView();
data = form2.qualitySetupDataGridView;
MessageBox.Show(data.Rows[0].Cells[1].Value.ToString());
错误信息:索引超出范围。必须为非负数且小于集合的大小。 参数名称:index
注意:DataGridView 修饰符设置为 public。我在 form-2 中放置的 DataGridView 中有 3-4 条记录。
您正在 Form1 中创建 Form2 的新实例,因此有一个空的 DatagridView。您应该传递 DatagridView 的当前实例,例如:
表格 1:
Fawad 已编辑:
您忘记了创建对象:这可以完成工作,但它会弹出表单 2 并等待一秒钟以获取数据,然后重新关闭,这并不完美,但可以完成工作。
Form2 f2 = new Form2();
Form2.Show();
Form2.Hide();
Form2 f = Application.OpenForms.OfType<Form2>().ElementAt<Form2>(0); //Get current open Form2
DataGridView data = f.qualitySetupDataGridView;
MessageBox.Show(data.Rows[0].Cells[1].Value.ToString());