c#怎么把datagridview一行的值分别放在几个不同的TextBox中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#怎么把datagridview一行的值分别放在几个不同的TextBox中相关的知识,希望对你有一定的参考价值。

1、拖一个DataGridView和几个TextBox控件到界面上,这里我都用默认名称,你可以自行修改控件名称。首先是设置DataGridView控件的选中方式为选中整行:
this.dataGridView1.SelectionMode=DataGridViewSelectionMode.FullRowSelect;
2、然后添加DataGridView控件的CellClick事件,在此事件中将值显示到TextBox中,当你点击不同的行的时候数据会自行变化:
private void dataGridView1_CellClick(object sender,DataGridViewCellEventArgs e)

if(this.dataGridView1.SelectedRows!=null) //当选中了行的时候才显示数据
 
  //将被点击的行的第一列的数据显示到第一个TextBox中
this.textBox1.Text=this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
  //将被点击的行的第二列数据显示到第二个TextBox中,后面以此类推
  this.textBox2.Text=this.dataGridView1.SelectedRows[0].Cells[1].Value.ToString();


希望对你有帮助,还有疑问请追问或是百度Hi上留言都可以
参考技术A 给TextBox赋值你会吧!
现在我们来取datagridview的值,
第一步你要得到你选中了哪一行:
int rowsIndex = dataGridView1.SelectedRows.index;

得到了行号就好办了,直接赋值:
textbox1.text = dataGridView1.rows[rowsindex].cells[0].value.tostring();
textbox2.text = dataGridView1.rows[rowsindex].cells[1].value.tostring();
textbox3.text = dataGridView1.rows[rowsindex].cells[2].value.tostring();
textbox4.text = dataGridView1.rows[rowsindex].cells[3].value.tostring();
textbox5.text = dataGridView1.rows[rowsindex].cells[4].value.tostring();
如果你知道是第几行rowsindex直接换成行号就可以了!望采纳!!
参考技术B 取得当前选中行,然后分别给TextBox赋值。追问

能给段代码看看么? 想看下代码~

追答

设置DataGridview 的事件,这里用单元格点击事件;
若有需要可以用其他事件:http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridview_events(v=vs.80).aspx

private void
dataGridView2_CellClick(object sender,
DataGridViewCellEventArgs e)

pnlBottom.Enabled = true;

//获得当前选中的行
int rowindex = e.RowIndex;
string value0="";
string value1 = "";
string value2 = "";

try


//获得当前行的第一列的值
value1= dgvHome.Rows[rowindex].Cells[1].Value.ToString();

//获得当前行的第0列的值
value0 = dgvHome.Rows[rowindex].Cells[0].Value.ToString();

//获得当前行的第二列的值
value2 =
dgvHome.Rows[rowindex].Cells[2].Value.ToString().Trim();

MessageBox.show("第0列的值:0;第一列的值:1;第二列的值:2",value0,value1,value2);


catch (Exception exc)

C# dataGridView如何自动获取所有行的值?

参考技术A dataGridView1.SelectedRows,这个是或得背选中的行\\x0d\\x0a如果你想去出背选中的话,那么可以遍历\\x0d\\x0aforeach (DataGridViewRow dgvr in dataGridView1.SelectedRows)\\x0d\\x0a \\x0d\\x0a //dgvr 就是比背选中的行,遍历,我想你懂的dataGridView1.SelectedRows是一个集合,取出每一行当然遍历\\x0d\\x0a//获取或设置\\x0d\\x0a string msg = dgvr.Cells[0].Value == null ? "" : dgvr.Cells[0].Value.ToString();\\x0d\\x0a //如果保证烈不为空 \\x0d\\x0a string msg2 = dgvr.Cells[2].Value.ToString();\\x0d\\x0adgvr.Cells[2].Value=“更改的”;\\x0d\\x0a \\x0d\\x0adataGridView1.SelectedColumns 是背选中的列,当然取出其中一烈是一样的\\x0d\\x0a如果你要取出所有行的话。那么\\x0d\\x0a foreach (DataGridViewRow dgvr in dataGridView1.Rows)\\x0d\\x0a \\x0d\\x0a //dgvr 就是比被选中的行,遍历,\\x0d\\x0a \\x0d\\x0a取出列的方式一样\\x0d\\x0a当然还有最常用的,获取所有单元格的值\\x0d\\x0a for (int i = 0; i < dataGridView1.Rows.Count; i++)\\x0d\\x0a \\x0d\\x0a for (int j = 0; j < dataGridView1.Columns.Count; j++)\\x0d\\x0a \\x0d\\x0a if (dataGridView1.Rows[i].Cells[j].Value != null)\\x0d\\x0a \\x0d\\x0a string msg3 = dataGridView1.Rows[i].Cells[j].Value.ToString();//取出对应的单元格的值\\x0d\\x0a MessageBox.Show(msg3);\\x0d\\x0a \\x0d\\x0a \\x0d\\x0a \\x0d\\x0a只得注意的是,dategridview默认是有一行空值的,当你\\x0d\\x0adataGridView1.Rows[i].Cells[j].Value,这个单元格为空的时候,那么就是null,如果你强制转换为字符串将会异常,所以推介 \\x0d\\x0amsg3 = dataGridView1.Rows[i].Cells[j].Value==null?"空":dataGridView1.Rows[i].Cells[j].Value.ToString()

以上是关于c#怎么把datagridview一行的值分别放在几个不同的TextBox中的主要内容,如果未能解决你的问题,请参考以下文章

c# datagridview怎么不选中行

C#查询出多行数据但只在datagridview中显示其中某一行

C# winform 把datagridview一列分别显示在combobox里

拜托了各位亲 么么哒 C#中绑定了控件 想往dataGridView中添加一行数据 怎么办???????????急

c# 在datagridview 中 用鼠标选中一行删除并保存到数据库怎么实现?

关于C#中datagridview 列计算问题