C# 语言单击DataGridView的行参数传递到另一个窗体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 语言单击DataGridView的行参数传递到另一个窗体相关的知识,希望对你有一定的参考价值。

我想实现单击一个窗体上的DataGridView控件的行,再单击修改可以吧所选取的行值传递给另一个窗体上的textbox控件 但是总是提示“索引超出范围。必须为非负值并小于集合大小。参数名: index“这是第一个窗体的代码private void toolStripButton2_Click(object sender, EventArgs e) if (dataGridView1.SelectedCells.Count == 0) MessageBox.Show("请选择你要修改的数据"); return; else string UName = dataGridView1.SelectedCells[4].Value.ToString(); UserC info = new UserC(); info.UName = UName; info.UID = dataGridView1.SelectedCells[1].Value.ToString(); info.ShowDialog(); 这是第二个窗体的代码public string UName; public string UID; private void UserC_Load(object sender, EventArgs e) this.Text = "["+UName+"]的用户信息"; string str = "select * from UserM where UserID='"+UID+"'"; DataSet ds = operate.GetTable(str); ds.Dispose(); textBox1.Text = ds.Tables[0].Rows[0][1].ToString(); textBox2.Text = ds.Tables[0].Rows[0][2].ToString(); textBox3.Text = ds.Tables[0].Rows[0][3].ToString(); 请问该怎么改正啊

参考技术A 窗体加载的时候加上
dataGridView1.SelectionMode
=
DataGridViewSelectionMode.FullRowSelect;选中的时候选中一行
不加的话默认就只能选中一个单元格
那么你想取第二个单元格的话就越界了

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行

设置DataGridView的属性SelectionMode为FullRowSelect 
这样就使DataGridView不是选择一个字段,而是选择一整行了 

设置DataGridView的属性MultiSelect为false 
这样就使DataGridView不能够选择多行,只能选择一行了

想得到某列的值是要判断DataGridView是否有选中的行

if (dataGridView1.SelectedCells.Count != 0)
            {
                //得到选中行的索引
                int intRow = dataGridView1.SelectedCells[0].RowIndex;

                 //得到列的索引
                int intColumn = dataGridView1.SelectedCells[0].ColumnIndex;

                 //得到选中行某列的值
                string str = dataGridView1.CurrentRow.Cells[2].Value.ToString();
                MessageBox.Show(str);
            }

以上是关于C# 语言单击DataGridView的行参数传递到另一个窗体的主要内容,如果未能解决你的问题,请参考以下文章

关于C#中 对于datagridview 单击任意一个单元格,获取那一行数据的语句

c#中 datagridview单击选中一行数据,点修改按钮,跳转到另外一个窗体并显示数据,修改保存

如何将值收集到数组中并将集合传递给 C# 中的 datagridview?

C# DataGridView 检测全选按钮

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行

C#中如何对datagridview 表格中的数据进行筛选,查找包含某个字段的行数据,求范例代码 感谢啊。