我想在Form-1中访问数据网格视图行和列值,并在文本框中显示。
我在下面写这段代码:
Form2 form2 = new Form2();
DataGridView data = new DataGridView();
data = form2.qualitySetupDataGridView;
MessageBox.Show(data.Rows[0].Cells[1].Value.ToString());
错误消息: 索引超出范围。必须是非负数且小于集合的大小。 参数名称:index
注意:DataGridView Modifiers设置为public。我在DataGridView中有3-4个记录,放在表单2中。
答案 0 :(得分:1)
您正在Form1中创建一个Form2的新实例,因此具有一个空的DatagridView。您应该传递DatagridView的当前实例,例如:
Form1中:
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());