2016-09-04 3 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. 

Я не знаю, где это error- Любая идея?

EDIT: Я забыл инициализировать мой datagridview, теперь мой код работает! В любом случае, спасибо!

+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, но вы пропустили «}» в своем коде. См. Мое редактирование. Благодаря! – Marci

+0

но ты меня понял, правильно! технически вы должны принять мой ответ, тогда :) – samirk433

+0

Сделано, но помните, чтобы обновить свой код в ответ, закрыв его другим «}»;) – Marci

0

Прежде всего убедитесь, что имя DataGridView2 правильно.

Затем откройте конструктор, нажмите DataGridView2, и в свойствах убедитесь, что для параметра «Дизайн -> GenerateMember» установлено значение «Истина».

Помогла ли это?

+0

Я нашел решение, см. мое редактирование. Благодаря! – Marci

0

попробуйте этот сэр.

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

надеюсь, что это будет решить вашу ошибку

+0

Я нашел решение, см. Мое редактирование. Благодаря! – Marci

+0

ahh okay. Кстати, попробуйте использовать 'currentrow', чтобы сократить и очистить свой код :) просто советую – Muj

Смежные вопросы