163 messaggi dal 15 febbraio 2005
ciao ho un problema nel far selezionare un campo in una ddl, cioè nel momento in cui faccio l'edit del datagrid in automatico si compila una tabella con i dati della riga selezionata solo che quando deve far selezionare un campo della ddl questo nn funziona, visualizza sempre il primo

questo è il codice della ddl

string query="Select * from Act where ActDes!='' and ActAnaId="+ idana;

//qui c'è il testo (ActDes)
string act=Session["act"].ToString();

SqlCommand myCommand = new SqlCommand(query,conn);
conn.Open();
ddlAct.DataSource = myCommand.ExecuteReader();
ddlAct.DataValueField = "ActOwnId";
ddlAct.DataTextField = "ActDes";
ddlAct.DataBind();

//con questo in teoria dovrei far selezionare la riga con
//scritto il contenuto della variabile act

ddlAct.SelectedIndex = ddlAct.Items.IndexOf(ddlAct.Items.FindByText(act)) ;
conn.Close();
40 messaggi dal 16 ottobre 2003
Prova a inserire prima dell'istruzione di selezione :

ddlAct.SelectedIndex = -1

Che errore ti da?
163 messaggi dal 15 febbraio 2005
Niente è uguale a prima ...
non da nessun errore praticamente non mi seleziona l'elemento giusto
Seleziona sempre il primo elemento
40 messaggi dal 16 ottobre 2003
L'unica spiegazione che posso dare a quello che accade è che non c'è il testo che tu gli dici di selezionare quindi l'indexof ti restituisce -1 e quindi seleziona sempre il primo elemento.
Potresti :
1. Vedere se il valore di act è presente nella dropdownlist.
2. Oppure usare FindByValue. Se act è il valore dell'elemento che vuoi selezionare.
Modificato da antgio74 il 21 marzo 2005 13.54 -
163 messaggi dal 15 febbraio 2005
Ho risolto il problema passando il value altrimenti non so perchè non trovava niente

grazie mille
163 messaggi dal 15 febbraio 2005
Ora però ho un'altro problema similare al precedente.
Il problema è che ora il Value e il Text sono gli stessi e quando faccio edit mi dice il campo non è associato.
Se faccio un response.write(luogo) mi da il risultato giusto.

questo è il codice che mi compila la drop down list:


string query1="Select DISTINCT(TrpLfr)luogo from Trp";
query1=query1 + " UNION ";
query1=query1 + "Select DISTINCT(TrpLto)luogo from Trp";
SqlCommand myCommand = new SqlCommand(query1,conn);
conn.Open();
ddl_Luogo.DataSource = myCommand.ExecuteReader();
ddl_Luogo.DataValueField = "luogo";
ddl_Luogo.DataTextField = "luogo";
ddl_Luogo.DataBind();
conn.Close();

e questo è quello che faccio per selezionare il campo selezionato:

string luogo=DataGrid1.SelectedItem.Cells[6].Text;
ddl_Luogo.Items.FindByValue(luogo).Selected=true;

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.