将DataGridView值复制到TextBox

我试图得到一个答案,但到目前为止没有任何帮助能够做到我想要的。

我有这段代码,用于查看所选行并将其列输出到相应的文本框中。

private void DataGridView01_SelectionChanged(object sender, EventArgs e) { if (DataGridView01.SelectedRows.Count > 0) { personIDTextBox.Text = DataGridView01.SelectedRows[0].Cells[0].Value.ToString(); comboBox1.Text = DataGridView01.SelectedRows[0].Cells[1].Value.ToString(); Txt_FirstName.Text = DataGridView01.SelectedRows[0].Cells[2].Value.ToString(); mIDDLENAMETextBox.Text = DataGridView01.SelectedRows[0].Cells[3].Value.ToString(); sURNAMETextBox.Text = DataGridView01.SelectedRows[0].Cells[4].Value.ToString(); cITYTextBox.Text = DataGridView01.SelectedRows[0].Cells[5].Value.ToString(); eMAILTextBox.Text = DataGridView01.SelectedRows[0].Cells[6].Value.ToString(); } } 

当我启动程序时,我没有错误,但它不会将数据输出到文本框中。 谁知道我做错了什么?

寻找活动:

这是学习在VS中编码所需要学习的最基本的东西。 简而言之,它意味着事件名称,这里DataGridView01_SelectionChanged连接到事件。 要执行此操作,可以使用代码,也可以将其插入属性选项卡的事件窗格的正确插槽中。 选择DataGridView ,打开事件窗格(带闪存的窗格)并找到SelectionChanged事件! 在这里插入事件的名称,您就完成了。

在此处输入图像描述

(我只安装了德语版的VS ..)

结果反映在form_designer.cs文件中,与双击该点并填充生成的代码存根是相同的(相反)。

控件有很多事件; 一个是默认事件,可以通过在设计器中双击控件本身来生成。 但最终你需要所有3种方法来生成连接事件(以及有时删除它们。)

在尝试从datagridview获取数据时,我使用了稍微不同的方法。

尝试做personIDTextBox.Text = DataGridView01.SelectedCells[0].Value.ToString();

但不是选择更改时的事件,切换到CellClick并将datagridview行选择属性的属性更改为完整行选择。 之后,您可以更改SelectedCell[0]编号以匹配您想要的任何单元格

如果要将datagridview选中的行显示到相应的文本框中,请执行以下步骤,

步骤1: 1。在Datagridview属性中将DataGridView选择模式更改为FullRowSelect 。 2.使用属性在数据网格视图中创建单元格单击事件。 在此处输入图像描述 3.编写以下代码并对其进行测试,这可能会有所帮助

 private void DataGridView01_CellClick(object sender,DataGridViewCellEventArgs e) { if (DataGridView01.Rows.Count > -1) { PersonIdTextBox.Text=DataGridView01.Rows[e.RowIndex].Cells[0].Value.ToString(); comboBox1.Text = DataGridView01.Rows[e.RowIndex].Cells[1].Value.ToString(); Txt_FirstName.Text = DataGridView01.Rows[e.RowIndex].Cells[2].Value.ToString(); mIDDLENAMETextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[3].Value.ToString(); sURNAMETextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[4].Value.ToString(); cITYTextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[5].Value.ToString(); eMAILTextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[6].Value.ToString(); } }