将 DataGridView 值复制到 TextBox

问题描述 投票:0回答:4

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

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

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

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

c# winforms datagridview
4个回答
2
投票

连接活动:

这是你需要学习在 VS 中编写代码的最基本的东西。简而言之就是事件名称的意思,这里

DataGridView01_SelectionChanged
与事件相关联。为此,可以使用代码,也可以将其插入属性选项卡事件窗格的正确插槽中。选择
DataGridView
,打开事件窗格(带有闪光灯的窗格)并找到 SelectionChanged 事件!在这里插入活动名称即可完成。

enter image description here

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

结果反映在 form_designer.cs 文件中,与双击该位置然后填写生成的代码存根是相同的(相反)。

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


0
投票

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

尝试做

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

但不是选择更改时的事件,而是切换到

CellClick
并将 datagridview 行选择属性的属性更改为全行选择。之后,您可以更改
SelectedCell[0]
数字以匹配您想要的任何单元格


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

}
}

0
投票

RowEnter_Event 是什么 获取您的数据 e.RowI

© www.soinside.com 2019 - 2024. All rights reserved.