设置DataGridView ComboBox的默认值

我的应用程序由DataGridviewComboBoxColumn DataGridViewComboBoxColumn将从数据库表(键,值对)中填充。 我试图使用DefaultValuesNeeded事件设置ComboBox列的默认值,但它不起作用。

以下是示例代码:

 e.Row.Cells["Job"] as DataGridViewComboBoxColumn).Value ="12" 

但它显示12为值,而不是12,它假设显示12值的实际文本。

例如:

在此处输入图像描述

 DataGridViewComboBoxColumn dgvCbJob = new DataGridViewComboBoxColumn(); { dgvCbJob.HeaderText = "Job"; hadd.Clear(); hadd.Add("@Search", string.Empty); ds = ObjDAL.GetDataSetForPrc("prc_GetJobList", hadd); if (ds.Tables[0].Rows.Count > 0) { dgvCbJob.DataSource = ds.Tables[0]; dgvCbJob.DisplayMember = "JobName"; dgvCbJob.ValueMember = "JobMasterId"; } dgvCbJob.DisplayIndex = 0; dgvCbJob.Width = 100; dgvCbJob.Name = "Job"; } 

要设置单元格的默认值,您可以使用以下任一选项:

  • 处理网格的DefaultValuesNeeded事件并将值赋给e.Row.Cells["Job"].Value
  • DataTable ,将“Job” DataColumnDefaultValue设置为所需的值

在这两个选项中,您指定的值的类型应与列的DataType的类型相同。

注意:您应该知道e.Row.Cells["Job"]不是DataGridViewComboBoxColumn 。 如果列是combobox,则单元格是DataGridViewComboBoxCell