Impostazione valore di defoult dropdownlist

giovedì 23 settembre 2010 - 13.30

dotnet79 Profilo | Newbie

Salve ho un piccolo problemino

ho caricato una dropdownlist con un foreach prendendo la descrizione e l'id(Text,Value)


foreach (IniziativaBudget iniziativabudget in iniziativebudget.CercaTutti())
DDLIniziativaBudgetCostiIns.Items.Add(new ListItem(String.Concat(iniziativabudget.Descrizione, iniziativabudget.Id)));

ora dovrei valorizzare la prima riga dell'oggetto con il valore corrispondente all'id passato dalla griglia ma non riesco a fare una ricerca interna alla dropdownlist per visualizzare il corrispondente valore ho provato facendo così

this.ddlSchedeCostiBeneficiMod.Items.Insert(0, new ListItem("text","valore"));

ma nulla
CHI MI DA UNA MANO?

Gluck74 Profilo | Guru

scusa ma non ci ho capito nulla.
Ho capito solo che con un ciclo popoli una DDL ma niente altro.
Puoi spiegarti meglio?

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

dotnet79 Profilo | Newbie

si nella lista deve essere posizionato dinamicamente come valore iniziale la descrizione corrispondente all'id che gli passo io es:

la mia lista è cosi popolata:

rosso (1) questo è l'id nascosto
bianco (2)
giallo (3)

come valore di defoult al caricamento della pagina ho una riga vuota.


Ora se io gli passo l'id 1 cliccando su una griglia, la lista automaticamente mi deve impostare come valore iniziale "rosso"


non so se mi sono riuscita a spiegare :(

Gluck74 Profilo | Guru

dovrei aver capito:

hai la DDL con tutti i valori in elenco. Poi hai anche una griglia visualizzata sulla pagina. Tu clicchi sulla griglia e voi che la DDL si posizioni sullo stesso valore.

Bene, questo lo vuoi fare da javascript o devi fare un postBack della pagina?

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

dotnet79 Profilo | Newbie

si è proprio questo il problema..

considera che utilizzo ajax(credo non ci sia il problema di dover impostare il postback)..comunque la gestione la sto facento con c#. Forse dovrei impostare la ricerca del valore all'interno della lista nel SelectedIndexChanged???....solo che lato asp se imposto alla mia list il SelectedIndexChanged mi da errore!...

Gluck74 Profilo | Guru

dunque, secondo me la cosa più semplice sarebbe con javascript, perché non stai a ricaricare tutta la pagina ed impostare la DDL, specialmente se ci sono degli UpdatePanel nel mezzo.

Inserisci una funzione javascript così:

function setDDL(idDato) { var ddl = $get('<%= DDLComeSiChiama.ClientID %>') for (var i=0; i<ddl.options.length; i++) if (ddl.options[i].value == idDato) ddl.selectedIndex = i; }

mentre nel pulsante che hai sulla griglia per selezionare la riga, aggiungi questo attributo:

onClientClick='setDDL(<%# Eval("identificativo del dato") %>); return false;'

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5