将DataGridView值复制到TextBox

时间:2015-10-22 07:45:22

标签: c# winforms datagridview

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

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

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

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

3 个答案:

答案 0 :(得分:1)

追踪事件:

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

enter image description here

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

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

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

第1步: 1.在Datagridview属性中将DataGridView选择模式更改为 FullRowSelect 。 2.使用属性在数据网格视图中创建单元格单击事件。 enter image description here 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();

}
}