datagridview и DataGridViewComboBoxCell

382
09 декабря 2016, 08:56

Есть 2 класса:

1)

class Project 
{
  string ProjectName
  int OwnerId
  string OwnerName
}

2)

   Class Owner
    {
    string OwnerName
    int OwnerId
    }

Есть DataGridView, который состоит из 2 ух полей:

ProjectName, которое является обычным текстовым полем и OwnerName, которое является ComboBox'ом.

На DataGridView биндится List, а на ComboBox в DataGridView биндится List .

Я хочу, выбирая из ComboBox'a элемент, обновлять этими значениями элемент в

List (Присваивать OwnerId и OwnerName).

Подскажите, как это можно сделать?

Я смастерил вот такой костыль и на каждое изменение, я должен руками вытаскивать эти значения из DataSet, который подключен к ComboBox.

        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        if (dataGridView1.RowCount == 0)
        {
            return;
        }
        var editedItem = (Project)dataGridView1.Rows[e.RowIndex].DataBoundItem;
        var value = ((DataGridViewComboBoxCell) dataGridView1.Rows[e.RowIndex].Cells[nameof(OwnerName)]).Value;
        var result = ((List<Owner>) Owner.DataSource).Single(x => x.OwnerName == value);
        editedItem.OwnerId = result.OwnerId;
        editedItem.OwnerName = result.OwnerName;
    }

Подскажите, можно ли как-нибудь менее костыльно сделать?

READ ALSO
DataGridAutoFilter C#

DataGridAutoFilter C#

Существует библиотека DataGridAutoFilter для winforms, которая вешает фильтр на столбец в datagridviewЯ обновляю datagridview так :

385
Методы сравнения ссылочных классов в .Net

Методы сравнения ссылочных классов в .Net

Ранее считал, что переопределять Equals для своих классов можно и нужноНо натолкнулся на иную информацию, что переопределение может привести...

327
Создание кликабельного GameOBject&#39;a

Создание кликабельного GameOBject'a

Имеется набор gameobject'ов который будут работать как кнопкиНа них висит box коллайдер и также кодом вешается pointclick триггер (вызывает функцию...

321
datagridview и зависимые combobox

datagridview и зависимые combobox

Допустим, имеется datagridview, где есть 2 колонки с типом datagridviewcombobox(далее cb)

370