Come aggiungere un object a ComboBoxEdit?

Ho un piccolo problema con ComboBoxEdit ( DevExpress.XtraEditors ). Non riesco ad aggiungere un valore o impostare SelectedIndex per il mio ComboBoxExit .

  ComboBoxEdit combo = new ComboBoxEdit(); ComboBoxItemCollection coll = combo.Properties.Items; coll.BeginUpdate(); try { coll.Add(new PersonInfo("Sven", "Petersen")); coll.Add(new PersonInfo("Cheryl", "Saylor")); coll.Add(new PersonInfo("Dirk", "Luchte")); } finally { coll.EndUpdate(); } combo.SelectedIndex = -1; Comboboxedit1.Properties.Items.Add(combo); 

Non funziona e aggiunge solo mostra questo:

inserisci la descrizione dell'immagine qui

Con questa linea:

Comboboxedit1.Properties.Items.Add(combo);

Stai aggiungendo l’object ComboBox al suo interno. ComboBoxEdit ToString () metodo restituisce il nome che stai vedendo nel tuo screenshot.

Quindi, rimuovi questa linea.

Il tuo codice è preso dalla documentazione ufficiale di DevExpress (eccetto la riga sopra che dovresti rimuovere), e funziona bene: gli articoli sono effettivamente aggiunti.

Tuttavia, l’impostazione della proprietà SelectedIndex su -1 non seleziona nulla, come afferma la documentazione:

La proprietà BaseListBoxControl.SelectedIndex è impostata su -1 a scopo dimostrativo (la proprietà è impostata su -1 per impostazione predefinita). Ciò garantisce che nessun elemento sia attualmente selezionato nella casella combinata.

Tu puoi fare :

 combo.SelectedIndex = 0; // Select Sven 

O

 combo.SelectedIndex = 1; // Select Cheryl 

O

 combo.SelectedIndex = 2; // Select Dirk 

Usa alcuni come questo:

 try { ComboBoxEdit combo = new ComboBoxEdit(); combo.Properties.Items.Add("Sven, Petersen"); combo.Properties.Items.Add("Cheryl, Saylor"); combo.Properties.Items.Add("Dirk, Luchte"); } 

Funzionerà benissimo! Nessuna complicazione, nessuna innovazione, semplice come bisogno!