2016-09-04 37 views
0

我想选择一个datagridview行并将值复制到3文本框。如何将值从Datagridview选定行复制到文本框

我试过这个代码(它在另一个我的项目中工作),但我得到一个错误。这是代码:

private void DataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e) 
    { 
     if (e.RowIndex >= 0) 
     { 
      DataGridViewRow row = this.DataGridView2.Rows[e.RowIndex]; 

      textBox1.Text = row.Cells["HomeNM"].Value.ToString(); 
      textBox3.Text = row.Cells["HostNM"].Value.ToString(); 
      fromTxt.Text = row.Cells["odd1NM"].Value.ToString(); 

     } 
    } 

这是我的错误:

Error 1 ' bexscraping.Form1 ' does not contain a definition of ' DataGridView2 ' and has not been found no extension method ' DataGridView2 ' accepting a first argument of type ' bexscraping.Form1 ' . Probably missing a using directive or a reference to an assembly. 

我不知道哪里是错误 - 任何想法?

编辑:我忘了初始化我的datagridview; M现在我的代码正在工作!不管怎样,谢谢!

+0

我看不出有任何问题与您的代码,有一件事我可以问,你有名字''DataGridView'在DataGridView2'你的项目? –

+0

正确的名称是:dataGridView2 – Marci

+0

这就是问题所在,请尝试使用'DataGridViewRow row = this.dataGridView2.Rows [e.RowIndex];' –

回答

0

确保gridView被初始化。那就试试这个

private void dataGridView1_Click(object sender, EventArgs e) 
    { 
     if(dataGridView1.SelectedRows.Count>0){ 
      textBox1.Text = dataGridView1.SelectedRows[0].Cells["HomeNM"].Value.ToString(); 
      textBox2.Text = dataGridView1.SelectedRows[0].Cells["HostNM"].Value.ToString(); 
      textBox3.Text = dataGridView1.SelectedRows[0].Cells["odd1NM"].Value.ToString(); 
    } 
    } // haha 
+0

我发现你的关于dgv inizialized的建议的解决方案,但是你错过了代码中的“}”。请参阅我的编辑。谢谢! – Marci

+0

但你有我,对!在技​​术上你应该接受我的答案,然后:) – samirk433

+0

完成,但记得更新你的代码在你的答案关闭它与另一个“}”;) – Marci

0

首先确保该名DataGridView2是正确的。

然后打开设计器,单击DataGridView2并在属性中确保Design - > GenerateMember设置为true。

对此是否有帮助?

+0

我找到了解决方案,请参阅我的编辑。谢谢! – Marci

0

试试这个先生。

if (e.RowIndex >= 0) 
{ 
txtbox1.text = datagridview1.currentrow.cells["cellname"].value 
. . . 'and so on. 
} 

希望这将解决您的错误

+0

我找到了解决方案,请参阅我的编辑。谢谢! – Marci

+0

啊好吧。顺便尝试使用'currentrow'来缩短并清理你的代码:)只是一个建议 – Muj

相关问题