sirve que para manipular example espaƱol editar c# winforms datagridview combobox datagridviewcomboboxcell

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 a e.Row.Cells["Job"].Value
  • En su DataTable configure DefaultValue para la DefaultValue 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 .