DataGridViewComboBoxColumn setup DisplayMember и ValueMember - PullRequest
0 голосов
/ 18 октября 2018

Я хочу заполнить DataGridViewComboBoxColumn.Combobox должен представлять это struct

internal struct IndexField
{
    public IndexField(int id, string name)
    {
        ID = id;
        Name = name;
    }

    public int ID { get; private set; }
    public string Name { get; private set; }
}

Реализация:

    public void Populate(IndexField[] indexFields)
    {
        DataGridViewComboBoxColumn indexFieldColumn = new DataGridViewComboBoxColumn()
        {
            HeaderText = "Index Fields"
        };

        indexFieldColumn.DataSource = indexFields;
        indexFieldColumn.DisplayMember = nameof(IndexField.Name);
        indexFieldColumn.ValueMember = nameof(IndexField.ID);

        dataGridView.Columns.Add(indexFieldColumn);

        for (int i = 0; i < 5; i++) // FOR TESTING PURPOSES ONLY => add some rows
        {
            dataGridView.Rows.Add(indexFields[0].Name); // use first combobox item as selected
        }
    }

При запуске кода я получаю эту ошибку

enter image description here

Я хочу настроить отображаемое значение, но также настроить элемент значения.HTML-эквивалентом будет

<select>
  <option value="ID1">Item1</option>
  <option value="ID2">Item2</option>
  <option value="ID3">Item3</option>
</select>

Как мне этого добиться?

1 Ответ

0 голосов
/ 21 октября 2018

Вы можете просто настроить свой комбинированный список через свойства сетки данных.Вам не нужно добавлять их вручную.Просто щелкните правой кнопкой мыши на вашей DataGrid -> изменить столбцы.

Properties

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