c# - que - Establecer el valor predeterminado para DataGridView ComboBox
manipular datagridview c# (1)
Mi aplicación consiste en DataGridviewComboBoxColumn
dentro de DataGridView
. Los ComboBoxColumn
están llenando desde una tabla de base de datos (clave, par de valores). Estoy intentando establecer el valor predeterminado para la columna ComboBox
usando el evento DefaultValuesNeeded
, pero no está funcionando.
A continuación está el código de muestra:
e.Row.Cells["Job"] as DataGridViewComboBoxColumn).Value ="12"
Pero muestra 12 como valor, en lugar de 12, supone mostrar texto real de 12 valores.
Por ejemplo:
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";
}
Para establecer el valor predeterminado para la celda, puede usar cualquiera de estas opciones:
- Manejar
DefaultValuesNeeded
evento de grilla y asignar valor ae.Row.Cells["Job"].Value
- En su
DataTable
configureDefaultValue
para laDefaultValue
de datos ''Job'' al valor deseado
En ambas opciones, el tipo de valor que asigne debe ser del mismo tipo que DataType
de la columna.
Nota: Debe saber que e.Row.Cells["Job"]
no es DataGridViewComboBoxColumn
. Si la columna es cuadro combinado, entonces la celda es DataGridViewComboBoxCell
.