Как вставить DataGridViewComboBoxCell в DataGridView? - PullRequest
0 голосов
/ 08 июня 2018

Я хочу вставить комбинированный список для каждой строки в сетке данных, но когда я попытался отправить комбинированный список для конкретной ячейки, он не работает

    for (int i = 0; i < dtRecord.Rows.Count; i++)
    {
        int idRecord = Convert.ToInt32(dtRecord.Rows[i]["idRecord"].ToString());

        DataTable dtDetalleRecordPorId = new DataTable();
        dtDetalleRecordPorId = cnEvalua.CNListaDetalleRecord(idRecord);

        DataGridViewComboBoxCell cmb = new DataGridViewComboBoxCell
        {
            DataSource = dtDetalleRecordPorId,
            ValueMember = dtDetalleRecordPorId.Columns["idDetalleRecord"].ToString(),
            DisplayMember = dtDetalleRecordPorId.Columns["cValor"].ToString(),
            ReadOnly = false
        };

        dtgRecord.Rows[i].Cells["cValor"] = cmb;
    }

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

Моя сетка данных берет данные из этой части:

    dtRecord = cnEvalua.CNListaRecord();
    dtgRecord.DataSource = dtRecord;

Когда я проверяю источник данных gridview, столбец cValor пуст, но в других столбцах есть данные.

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете попробовать это,

DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
cmb.DataSource = dtDetalleRecordPorId;            
cmb.ValueMember = dtDetalleRecordPorId.Columns["idDetalleRecord"].ToString();
cmb.DisplayMember = dtDetalleRecordPorId.Columns["cValor"].ToString();
cmb.ReadOnly = false;
dtgRecord.Columns.Add(cmb);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...