Hvordan lage Dropdown Med Key Søk i C

Hvordan lage Dropdown Med Key Søk i C


En rullegardinliste er en kontroll tilgjengelig i alle Microsoft Integrated Development Environments som Visual Basic.NET og C #. Den nedtrekkslisten inneholder en liste over alternativer som sluttbruker kan velge fra. Listen kan fylles fra en ekstern fil, database og kan også være hardkodet hvis verdiene er statiske og ikke forventet å endre seg over tid. En av fordelene ved å bruke en rullegardinlisten er at det kan søkes etter en bestemt verdi. Søket er enda raskere hvis du bruker en "nøkkel" og "verdi" til å fylle nedtrekkslisten fra en ordbok objekt.

Bruksanvisning

1 Definer en "ordbok" objekt i C # -kode og tildele en "nøkkel" og en "verdi" til hver rad i ordboken. "Nøkkelen" og "verdi" kan komme fra en database eller være hardkodet. Verdiene er hardkodet i eksempelet nedenfor:

Dictionary <string, string> list = ny ordbok <string, string> ();

list.Add(&quot;key 1&quot;, &quot;value 1&quot;);
list.Add(&quot;key 2&quot;, &quot;value 2&quot;);
list.Add(&quot;key 3&quot;, &quot;value 3&quot;);
list.Add(&quot;key 4&quot;, &quot;value 4&quot;);

2 Definer "rullegardinmenyen" objekt og sette "ordbok" objekt som heter "liste" som datakilde. Navn på rullegardin "DDL." Sett "DataTextField" av "ddl" til "nøkkelen" fra "list" og "DataValueField" til "verdi" fra "listen."

ddl.DataSource = liste;
ddl.DataTextField = "Key";
ddl.DataValueField = "Value";
ddl.DataBind ();

3 Søk på "ordbok" objekt ved hjelp av "ContainsKey" metoden. For eksempel kan det være lurt å søke gjennom "Dictionary" for å finne en bestemt verdi før du legger den til "drop-down listen." "ContainsKey" er en av de raskeste søkemetoder av "Dictionary" objekt.

if (list.ContainsKey ( "key to"))

4 Søk i "rullegardinmenyen" objekt med "FindByValue" metoden. Denne søkemåten er store og små bokstaver og søker for hele søkeparameter i sin helhet.

if (ddl.Items.FindByValue ( "value 3")! = null)

{

ddl.SelectedValue = &quot;value 3&quot;;

}

Hvis du har skrevet "verdi" som søkeparameter, null ville blitt returnert, fordi det finnes ingen verdier i "DDL" som er lik bare ordet "verdi".