DataGridView в ComboBox

Алексей Ку.
Дата: 28.04.2014 16:43:30
Добрый день, знатоки! Помогите!
Завис на глупой проблеме. У меня есть заполненный DataGridView. И вот все значения определённой колонки мне надо запихать в коллекцию ComboBox в качестве DisplayValue, установив при этом индекс строки грида в качестве ValueMember.
igr_ok
Дата: 28.04.2014 17:30:05
Алексей Ку.
Добрый день, знатоки! Помогите!
Завис на глупой проблеме. У меня есть заполненный DataGridView. И вот все значения определённой колонки мне надо запихать в коллекцию ComboBox в качестве DisplayValue, установив при этом индекс строки грида в качестве ValueMember.

Индекс строки грида не может быть ключевым полем. Это бессмыслица.
Алексей Ку.
Дата: 28.04.2014 17:49:37
igr_ok,
Хорошо. Предположим в качестве ключа используется вторая колонка из грида.
igr_ok
Дата: 28.04.2014 19:01:36
Алексей Ку.
igr_ok,
Хорошо. Предположим в качестве ключа используется вторая колонка из грида.


Получаете источник данных вашего DataGridView и привязываете его к ComboBox. Например, так
DataTable dt=(DataTable)DataGridView.DataSource;
ComboBox.DataSource=dt;
и т.д.
Алексей Ку.
Дата: 29.04.2014 10:44:27
igr_ok,

При попытке выполнить такой код получаю:

Не удалось привести тип объекта "System.Data.Linq.DataQuery`1[<>f__AnonymousType0`5[System.Int32,System.String,System.String,System.String,System.Nullable`1[System.Boolean]]]" к типу "System.Data.DataTable".
igr_ok
Дата: 29.04.2014 12:37:32
Алексей Ку.
igr_ok,

При попытке выполнить такой код получаю:

Не удалось привести тип объекта "System.Data.Linq.DataQuery`1[<>f__AnonymousType0`5[System.Int32,System.String,System.String,System.String,System.Nullable`1[System.Boolean]]]" к типу "System.Data.DataTable".
Значит, вместо DataTable используйте тот тип, который у вас.
Алексей Ку.
Дата: 29.04.2014 15:24:14
igr_ok,
А какой у меня тип данных? У меня есть только комбобокс и DataContext запросом из которого заполнен DataGridView.
Alex Kuznetsov
Дата: 30.04.2014 13:49:20
Алексей Ку.
igr_ok,
А какой у меня тип данных? У меня есть только комбобокс и DataContext запросом из которого заполнен DataGridView.
Ну, тогда код "заполнения" DataGridView данными из DataContext в студию...
Cat2
Дата: 01.05.2014 10:59:01
igr_ok
Алексей Ку.
igr_ok,
Хорошо. Предположим в качестве ключа используется вторая колонка из грида.


Получаете источник данных вашего DataGridView и привязываете его к ComboBox. Например, так
DataTable dt=(DataTable)DataGridView.DataSource;
ComboBox.DataSource=dt;
и т.д.

Алексей Ку.
igr_ok,

При попытке выполнить такой код получаю:

Не удалось привести тип объекта "System.Data.Linq.DataQuery`1[<>f__AnonymousType0`5[System.Int32,System.String,System.String,System.String,System.Nullable`1[System.Boolean]]]" к типу "System.Data.DataTable".


Тогда, в лоб, так

сomboBox.DataSource=dataGridView.DataSource;
comboBox.DisplayMember = ...;
comboBox.ValueMember = ...;


Но при этом при переходе в гриде в комбобоксе будет выбираться текущий элемент и наоборот.

Если цель в этом, то можно так и оставить.

Если они должны быть независимы, то нужно создать индивидуальный источник

comboBox.DataSource = new BindingSource(dataGridView.DataSource, null);
comboBox.DisplayMember = ...;
comboBox.ValueMember = ...;