c # datagridview, имеющий разные источники данных для разных столбцов - PullRequest
1 голос
/ 10 мая 2011

У меня есть сетка данных, в которой есть несколько текстовых столбцов и один комбинированный столбец.Мне нужно указать источник данных для iems comboboxcolumn и другой источник данных для других текстовых столбцов.Я пробовал следующий пример кода, но он не работает.

dgv1.DataSource = DataSet1.Tables[0];
string[] managerList = Array.ConvertAll(DataSet2.Select(), row => (string)row[0]);
comboboxcolumn1.DataSource = managerList;

В массиве managerList есть записи, которые должны быть заполнены в поле со списком, но они никогда не отображаются.

Это так, что я не могу иметь отдельный источник данных для поля со списком иего родительский datagridview?

Заранее спасибо.

1 Ответ

1 голос
/ 10 мая 2011

Я проверил следующий код, и он отлично работает

string[] arr = "This Should Get Displayed".Split(); //managerList in your case           
dataGridView1.DataSource = MyData(false);
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DataSource = new BindingSource(arr, null); // Bind to the column of grid

Можете ли вы попытаться присвоить его как ссылку на него как на столбец вашего обзора данных.

В моем поле со списком отображается текст, разделенный на пробел .

Когда вы используете строковый массив, не нужно указывать Отображать и Значение элемент для столбца

EDIT

Если у вас есть DataTable, вы также можете сделать это таким образом

(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DataSource= datatable;
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DisplayMember="columnname";
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).ValueMember="columnname";
...