将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(); } }