en drop-down liste er en kontrol til rådighed i alle Microsoft Integrated Development Environments såsom Visual Basic.NET og C # . The Drop -down liste indeholder en liste over indstillinger, slutbrugeren kan vælge fra. Listen kan være befolket fra en ekstern fil , database og kan endda være hårdt kodet , hvis værdierne er statiske og ikke forventes at ændre sig over tid . En af fordelene ved at bruge en drop- down liste er, at man kan søge efter en bestemt værdi. Søgningen er endnu hurtigere , hvis du bruger en "nøgle" og "værdi" at befolke rullelist fra en ordbog objekt. Instruktioner
1
Definer en " ordbog " objekt i din C # -koden og tildele en "nøgle" og en " værdi " til hver række i ordbogen. "Nøglen" og "værdi" kan komme fra en database eller være hårdt kodet . Værdierne er hard- kodet i nedenstående eksempel : Hej
Ordbog list = new Dictionary (); list.Add ( "key 1" , "værdi 1" ), list.Add ( "key 2", " værdi 2 ") list.Add ( "key 3 ", " value 3 ") list.Add ( "key 4" , "værdi 4" ;)
2 Definer "Drop -down List" objektet og sæt " Dictionary" objekt med navnet "liste " som datakilde . Navngiv drop- down " ddl . " Sæt " DataTextField " under " DDL " til "nøglen" fra "liste" og " DataValueField " til den "værdi" fra "liste. "
ddl.DataSource = list , ddl.DataTextField =" nøgle " ddl.DataValueField =" Value " ddl.DataBind ();
3 < p > Søg i " Dictionary " objekt ved hjælp af " ContainsKey "-metoden. For eksempel kan du ønsker at søge gennem " Dictionary " for at finde en bestemt værdi forud for at tilføje det til "drop- down listen. " " ContainsKey " er en af de hurtigste søgemetoder af " Dictionary" ; . objekt
if ( list.ContainsKey ( "key 2") )
4
Søg i "drop- down listen " objekt ved hjælp af " FindByValue "-metoden. Denne søgemetode er case-sensitive og søger for hele søgeparameter i sin helhed.
If ( ddl.Items.FindByValue ( "value 3") ! = Null ) { ddl.SelectedValue = "value 3 " ;}
p Hvis du indtastede " værdi " som søgeparameter , ville null er blevet returneret , fordi der ikke er værdier i " ddl " , som er lig med KUN ordet" værdi ". ;