Come selezionare un elemento di elenco a discesa per valore in modo programmatico in C# .NET?Come selezionare una voce dell'elenco a discesa per valore a livello di codice
risposta
Se si sa che il DropDownList contiene il valore che stai cercando di selezionare, utilizzare:
ddl.SelectedValue = "2";
Se non siete sicuri se il valore esiste, uso (o si otterrà un'eccezione riferimento null):
ListItem selectedListItem = ddl.Items.FindByValue("2");
if (selectedListItem != null)
{
selectedListItem.Selected = true;
}
ecco la stessa seconda soluzione ma in una riga di codice: ddl.Items.FindByValue ("2"). Selected = true; –
Ciò comporterà un errore se l'articolo non viene trovato. – ScottE
Il menu a discesa è in un popup che è stato popolato al caricamento della pagina. Sto cercando di impostare l'indice selezionato prima di mostrare il popup ma non funziona. Puoi per favore aiutare? http://stackoverflow.com/questions/28883433/how-to-populate-dropdownlist-in-a-popup-before-showing-from-code-behind – SearchForKnowledge
combobox1.SelectedValue = x;
ho il sospetto si consiglia yo sentire qualcosa di diverso, ma questo è quello che hai chiesto.
Non puoi perché il valore Selezionato ottiene solo il valore non impostato –
David - in realtà non sei corretto. Fai un tentativo e se hai dato il -1, probabilmente dovresti rimuoverlo! Ovviamente otterrai un'eccezione se il valore non esiste, ma altrimenti funzionerà perfettamente. – ScottE
myDropDown.SelectedIndex =
myDropDown.Items.IndexOf(myDropDown.Items.FindByValue("myValue"))
Il valore sta diventando -1 in myDropDown.SelectedIndex perché? –
probabilmente perché myDropDown.Items non ha un elemento "myValue" –
IndexOf() restituisce -1 se l'elemento non è nella raccolta. FindByValue() non sta trovando l'oggetto che stai cercando.Basta scomporlo in istruzioni separate se è necessario eseguirne il debug. – womp
Questo è un modo semplice per selezionare un'opzione da un dropdownlist basato su una stringa val
private void SetDDLs(DropDownList d,string val)
{
ListItem li;
for (int i = 0; i < d.Items.Count; i++)
{
li = d.Items[i];
if (li.Value == val)
{
d.SelectedIndex = i;
break;
}
}
}
ddl.SetSelectedValue("2");
con estensione a portata di mano:
public static class WebExtensions
{
/// <summary>
/// Selects the item in the list control that contains the specified value, if it exists.
/// </summary>
/// <param name="dropDownList"></param>
/// <param name="selectedValue">The value of the item in the list control to select</param>
/// <returns>Returns true if the value exists in the list control, false otherwise</returns>
public static Boolean SetSelectedValue(this DropDownList dropDownList, String selectedValue)
{
ListItem selectedListItem = dropDownList.Items.FindByValue(selectedValue);
if (selectedListItem != null)
{
selectedListItem.Selected = true;
return true;
}
else
return false;
}
}
Nota: Tutto il codice è rilasciato nel pubblico dominio. Nessuna attribuzione richiesta.
Per coloro che vengono qui da ricerca (perché questa discussione è più di 3 anni):
string entry // replace with search value
if (comboBox.Items.Contains(entry))
comboBox.SelectedIndex = comboBox.Items.IndexOf(entry);
else
comboBox.SelectedIndex = 0;
Il metodo Contains accetta un parametro ListItem, non un parametro del valore stringa. –
Date un'occhiata a questo articolo
Ian Boyd (sopra) ha avuto una grande risposta - Aggiungi questo alla classe di Ian Boyd "WebExtensions" per selezionare un elemento in un elenco a discesa basato sul testo:
/// <summary>
/// Selects the item in the list control that contains the specified text, if it exists.
/// </summary>
/// <param name="dropDownList"></param>
/// <param name="selectedText">The text of the item in the list control to select</param>
/// <returns>Returns true if the value exists in the list control, false otherwise</returns>
public static Boolean SetSelectedText(this DropDownList dropDownList, String selectedText)
{
ListItem selectedListItem = dropDownList.Items.FindByText(selectedText);
if (selectedListItem != null)
{
selectedListItem.Selected = true;
return true;
}
else
return false;
}
Chiamarlo:
WebExtensions.SetSelectedText(MyDropDownList, "MyValue");
preferisco
if(ddl.Items.FindByValue(string) != null)
{
ddl.Items.FindByValue(string).Selected = true;
}
Sostituire DDL con l'ID dropdownlist e stringa con la stringa nome o valore della variabile.
Questa risposta è già stata fornita più o meno nella stessa forma ... – MarioDS
@MarioDS Davvero? Non è più o meno indicativo di essere diverso. Funziona o no? È uguale a qualcosa fornito o no? Se sì al primo e no al secondo, perché il meno? – San
@MarioDS La risposta fornisce la stessa funzione con meno codice. Tutte le risposte su qui forniscono modi diversi per benefici diversi, i vantaggi di questo sono meno codice. – San
- 1. jQuery - Come selezionare la voce dell'elenco a discesa per testo?
- 2. Selezionare una voce della barra di tabulazione a livello di codice (non utilizzando UITabBarController)
- 3. Come selezionare l'oggetto Fabric.js a livello di codice
- 4. modifica NSSlider Valore a livello di codice
- 5. Come selezionare una funzione a livello di codice su un livello vettoriale in OpenLayers?
- 6. Elenco a discesa di databound - valore iniziale
- 7. Come aprire selezionare a livello di programmazione
- 8. Come accedere a una condivisione file a livello di codice
- 9. Come selezionare una scheda a livello di programmazione?
- 10. Scelta a livello di codice Selezionare AngularJS Typeahead
- 11. Selenium - Python - valore opzione menu a discesa
- 12. Come aggiungere i vincoli a livello di codice a un UIView creato a livello di codice?
- 13. Come assegnare un valore vuoto per selezionare il menu a discesa?
- 14. Geb: come faccio a selezionare un valore da un menu a discesa?
- 15. Ottieni un valore a discesa
- 16. Come aggiungere un menu a discesa a una cella JTable
- 17. Openlayers 3: selezionare una funzionalità a livello di programmazione
- 18. mvc 4 a discesa valore predefinito selezionato
- 19. Interruttore a discesa multi-livello UI angolare
- 20. Come selezionare a livello di codice una riga in UITableView in MonoTouch?
- 21. Wicket Menu a discesa per impostare il valore predefinito
- 22. Ottieni codice identificativo a livello di codice
- 23. Posso impostare a livello di codice la posizione dell'elenco a discesa ComboBox?
- 24. Come ridimensionare il menu a discesa di una casella combinata?
- 25. Android - Come toccare la voce ListView a livello di programmazione
- 26. Scorrimento a livello di codice
- 27. Come selezionare un elenco a discesa html con php?
- 28. Come regolare selezionare l'altezza del menu a discesa
- 29. predefinire il valore selezionato nell'elenco a discesa
- 30. RadioGroup: Come controllare a livello di codice
stanno cercando un modo per farlo utilizzando l'automazione (ad esempio per il test)? – Steven
È questo per WinForms, WPF, web? –
No Im solo per selezionare il paese in base al valore che ho nel DB –