2014-01-16 5 views
0

У меня есть два вида сетки. Один источник данных gridview устанавливает через базу данных. Теперь я хочу, чтобы, когда я нажимаю на строку первого gridview, ее первое значение столбца выбранной строки должно быть установлено на второе gridview.Установка значения столбца одного gridview как источника данных другого gridview

private void masterTab1_ItemSelected(object sender, object selectedValue) 
    { 
     for (int i = 0; i < 1; i++) 
     { 
      SerialNumberGrid.Columns.Add("SerialNumber"); 
      SerialNumberGrid.DataSource = masterTab1.HeaderGrid.SelectedRows[i].Cells[0].Value.ToString(); 
     } 
    } 

Я делаю это так, но это дает мне исключение из диапазона исключения.

enter image description here

+0

Ряд или ячейка? в вашем коде вы выбрали значение ячейки! не так ли? – zey

+0

Первая ячейка выделенной строки –

+0

Что касается ваших вторых полей и столбцов gridView? Он имеет только один столбец? – zey

ответ

0

Я предлагаю вам создать DataTable и добавить стоимость вашей выбранной ячейки к нему как DataRow!

DataTable table = new DataTable(); 
table.Columns.Add("yourField", typeof(string)); 
table.Rows.Add(masterTab1.HeaderGrid.SelectedRows[0].Cells[0].Value.ToString()); 

И установить этот table, как datasourse вашей второй сетки в.

SerialNumberGrid.DataSource = table ; 
SerialNumberGrid.DataBind(); 

Редактировать

Вы должны получить выбранное значение ячейки любит

masterTab1.SelectedRows[0].Cells[0].Value.ToString(); 

или

masterTab1.SelectedRows[0].Cells[0].Text; 

И вы должны знать, как конвертировать DataGridView selected rows to DataTable!

+0

Его снова дает мне исключение из диапазона исключений –

+0

- это ваша сетка, состоящая из нескольких строк? – zey

+0

Да и когда я передаю это значение ячейки в таблицу. Rows.Add его дает мне исключение –

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