C# 如何在DataGridView中插入DataGridViewComboxCell?
我想为datagrid中的每一行插入一个组合框,但当我尝试为特定单元格发送组合框时,它不起作用C# 如何在DataGridView中插入DataGridViewComboxCell?,c#,windows,winforms,C#,Windows,Winforms,我想为datagrid中的每一行插入一个组合框,但当我尝试为特定单元格发送组合框时,它不起作用 for (int i = 0; i < dtRecord.Rows.Count; i++) { int idRecord = Convert.ToInt32(dtRecord.Rows[i]["idRecord"].ToString()); DataTable dtDetalleRecordPorId = new DataTable();
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;
}
当我检查gridview的datasource时,cValor
列为空,但其他列有数据。您可以试试这个
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);
您应该将
DataGridViewComboBoxColumn
添加到网格中。但是我想在cValor
列中显示combobox。好的,您必须使用DataGridViewComboxColumn
。
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);