Обязательный словарь для Datagridview - PullRequest
0 голосов
/ 15 ноября 2011

Я хотел связать словарь с сеткой данных.К сожалению, Dictionary не реализует требуемый интерфейс, поэтому вместо этого создается список>.

По сути, я хочу, чтобы это было привязано к сетевому представлению данных с помощью datagridviewcomboboxcolumns.С колонкой 1, содержащей ключ, и колонкой 2, содержащей значение.

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

РЕДАКТИРОВАТЬ: Чтобы уточнить, это не привязка к объекту, который является проблемой.Кажется, это нормально для привязки к списку, например, если у меня есть 4 элемента в списке, то добавляются 4 строки, однако значения остаются пустыми.Это пример кода:

additionalMetadata1.dataGridView1.DataSource = animal.AdditionalMetaData;

        foreach (DataGridViewRow row in additionalMetadata1.dataGridView1.Rows)
        {
            DataGridViewCustomComboCell cell = row.Cells[0] as DataGridViewCustomComboCell;
            cell.DataSource = animal.AdditionalMetaData;

            ((DataGridViewCustomComboColumn)additionalMetadata1.dataGridView1.Columns[0]).DisplayMember = "Key";

            ((DataGridViewCustomComboColumn)additionalMetadata1.dataGridView1.Columns[0]).ValueMember = "Key";

            ((DataGridViewCustomComboColumn)additionalMetadata1.dataGridView1.Columns[0]).DataPropertyName = "Key";
         }

Спасибо.

1 Ответ

4 голосов
/ 15 ноября 2011

Вы можете использовать свой словарь со следующим Linq:

 dataGridView.DataSource =  (from d in dictionary
                             orderby d.Value
                             select new
                              {
                               d.Key,
                               d.Value
                             }).ToList();

Это создаст анонимный объект, который будет содержать ваш ключ и значение в качестве свойств.Имейте в виду, что по умолчанию словарь находится не в определенном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...