Définir la valeur par défaut pour DataGridView ComboBox

Mon application est constituée de DataGridviewComboBoxColumn dans DataGridView . Les ComboBoxColumn sont remplis à partir d’une table de firebase database (clé, paire de valeurs). J’essaie de définir la valeur par défaut de la colonne ComboBox aide de l’événement DefaultValuesNeeded mais cela ne fonctionne pas.

Voici l’exemple de code:

 e.Row.Cells["Job"] as DataGridViewComboBoxColumn).Value ="12" 

Mais il indique 12 comme valeur, au lieu de 12, il est supposé afficher le texte réel de 12 valeur.

Par exemple:

entrez la description de l'image ici

 DataGridViewComboBoxColumn dgvCbJob = new DataGridViewComboBoxColumn(); { dgvCbJob.HeaderText = "Job"; hadd.Clear(); hadd.Add("@Search", ssortingng.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"; } 

Pour définir la valeur par défaut de la cellule, vous pouvez utiliser l’une des options suivantes:

  • DefaultValuesNeeded événement DefaultValuesNeeded de la grid et atsortingbue une valeur à e.Row.Cells["Job"].Value
  • Dans votre DataTable définissez DefaultValue pour le DataColumn ‘Job’ sur la valeur souhaitée

Dans les deux options, le type de valeur que vous affectez doit être du même type que DataType de la colonne.

Remarque: vous devez savoir que e.Row.Cells["Job"] n’est pas DataGridViewComboBoxColumn . Si la colonne est une liste déroulante, la cellule est DataGridViewComboBoxCell .