为 DataGridView ComboBox 设置默认值
Set default value for DataGridView ComboBox
我的应用程序由 DataGridviewComboBoxColumn
和 DataGridView
组成。 ComboBoxColumn
正在从数据库 table(键值对)中填充。我正在尝试使用 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
.
在许多情况下,这可以在设计模式下完成,右键单击 dgv,select 组合框列,默认单元格样式,数据“nullValue”
非常适合简单的情况,例如用户的简单选择 A B C,默认为 A,如果您稍后比较单元格的值为 A 或 B 或 C,它将起作用。但是,如果您与 selected 索引进行比较,这将是一个问题,因为我认为它算作集合中的一个值
我的应用程序由 DataGridviewComboBoxColumn
和 DataGridView
组成。 ComboBoxColumn
正在从数据库 table(键值对)中填充。我正在尝试使用 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
.
在许多情况下,这可以在设计模式下完成,右键单击 dgv,select 组合框列,默认单元格样式,数据“nullValue”
非常适合简单的情况,例如用户的简单选择 A B C,默认为 A,如果您稍后比较单元格的值为 A 或 B 或 C,它将起作用。但是,如果您与 selected 索引进行比较,这将是一个问题,因为我认为它算作集合中的一个值