Member 13808586 Ответов: 2

Поле со списком C# в datagridview


C# - я новичок и учусь через различные учебные пособия в you tubes.

Я использовал combobox в datagridview. Я могу сохранить данные.

Но когда я попытался отобразить (загрузить) то же самое в поле со списком datagridview, мне это не удалось.

Пожалуйста, не могли бы вы сказать мне, как я могу показать выбранное значение в поле combbo??

Что я уже пробовал:

private void PopDgvPrdBatch()
{
dgvPrdBatch.Rows.Clear();
dgvPrdBatch.Refresh();

//Get the keyword for the data search
string sql;
int IDPrd = int.Parse(txtPrdId.Text);

//Write Sql for Category type to fill Combo Box
 sql = @"SELECT ReqID, ReqRef + ' ' + ReqFisYr + '-'+ ReqNo AS Req FROM tblRcpReq WHERE PrdctID = '" + IDPrd + "' " +
				  "ORDER BY ReqRef + ' ' + ReqFisYr + '-'+ ReqNo DESC ";

cBxBchReq.DataSource = null;
DataTable dtCBx = Select(sql);


sql = @"SELECT ReqId, PrdctId, BatchDate, Batch + BatchNo Batch, Qty FROM tblPrdctBatch WHERE PrdctId = '"+IDPrd+"' ORDER BY  Batch + BatchNo DESC";
DataTable   dt = Select(sql);

if (dt.Rows.Count > 0)
{
	for (int i = 0; i < dt.Rows.Count; i++)
	{
		dgvPrdBatch.Rows.Add();

	   // dgvPrdBatch.Rows[i].Cells["cBxBchReq"].Value = dt.Rows[i]["ReqId"].ToString();
		dgvPrdBatch.Rows[i].Cells["BchIDPrd"].Value = dt.Rows[i]["PrdctId"].ToString();
		dgvPrdBatch.Rows[i].Cells["BchDate"].Value = Convert.ToDateTime(dt.Rows[i]["BatchDate"]).ToString("yyyy-MM-dd");
		dgvPrdBatch.Rows[i].Cells["BchBatch"].Value = dt.Rows[i]["Batch"].ToString();
		dgvPrdBatch.Rows[i].Cells["BchPrdName"].Value = txtPrdModel.Text + txtPrdName.Text;
		dgvPrdBatch.Rows[i].Cells["BchQty"].Value = dt.Rows[i]["Qty"].ToString();

		cBxBchReq.DisplayMember = "Req"; //Name column of contact datasource
		cBxBchReq.ValueMember = "ReqID";//Value column of contact datasource
		cBxBchReq.DataSource = dtCBx;
		dgvPrdBatch.Rows[i].Cells["cBxBchReq"].Value = dt.Rows[i]["ReqId"].ToString();

		dgvPrdBatch.Rows[i].ReadOnly = true;
	 }
}

2 Ответов

Рейтинг:
1

RickZeeland

Смотрите пример здесь: c# - DataGridView set column cell Combobox - переполнение стека[^]


Рейтинг:
1

Maciej Los

Пожалуйста, следуйте документации: Класс DataGridViewComboBoxColumn (System.Окна.Формы) | Microsoft Docs[^]