设置DataGridView ComboBox的默认值
我的应用程序由DataGridviewComboBoxColumn
DataGridView
。 ComboBoxColumn
将从数据库表(键,值对)中填充。 我试图使用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”DataColumn
的DefaultValue
设置为所需的值
在这两个选项中,您指定的值的类型应与列的DataType
的类型相同。
注意:您应该知道e.Row.Cells["Job"]
不是DataGridViewComboBoxColumn
。 如果列是combobox,则单元格是DataGridViewComboBoxCell
。