我的应用程序由 DataGridView
内的 DataGridviewComboBoxColumn
组成。 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
。如果列是组合框,则单元格是 DataGridViewComboBoxCell
。
关于c# - 设置 DataGridView ComboBox 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38592231/