come posso inserire una dropdownlist che pesca dei dati da un db in un repeater?
dovranno comparirmi diversi records e ciascuno dovrà avere come ultimo campo una dropdownlist che pesca tutti i records di una tabella
non ci riesco in nessun modo
almeno è possibile farlo?
ciao e grazie

GustoInRete La Rete del Gusto
Immobili360 Annunci Immobiliari
agganci l'eventi itemcreated del repeater, trovi la droplist nel item dopo la gestisci come fai normalmente

ti post un esempio è per un datagrid ma non dovrebbe cambiare un gran che basta sostituire DataGridItemEventArgs con RepeaterItemEventArgs

private void GalleryGrid_ItemDataBound (object sender, DataGridItemEventArgs e)
{
switch (e.Item.ItemType.ToString())
{
case "EditItem":
string categoryID =((DataRowView)e.Item.DataItem).Row["CategoryID"].ToString();
//cerco la mia droplist
DropDownList tCatDropList = (DropDownList)e.Item.FindControl("CatDropEdit");
//questa è la mia fonte dati
DataView myDV = NewsManager.Business.Category.GetCategories().Tables[0].DefaultView;
myDV.Sort = "CategoryID";
//l'associo
tCatDropList.DataSource = myDV;
tCatDropList.DataValueField = "CategoryID";
tCatDropList.DataTextField ="Name";
//esegio il binding
tCatDropList.DataBind();
//seleziono un elemento
tCatDropList.SelectedIndex = tCatDropList.Items.IndexOf(tCatDropList.Items.FindByValue(categoryID));
break;
}
}

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
65 messaggi dal 10 dicembre 2003
Ciao, se fai una ricerca nel forum o negli script di AspItalia, vedrai che troverai la soluzione....comunque supponi di avere una dropdwnlist in un repeater:
                  <asp:dropdownlist id="dDLNomeCategoria" datasource=<%#tableCategorie()%> datatextfield="nomecategoria"  datavaluefield="idcategoria" SelectedIndex=<%#getIndiceCategoria( (int)DataBinder.Eval (Container.DataItem, "idCategoria") )%> runat="server" />

come vedi il datasource viene valorizzato con una function, quest'ultima deve restituire un dataset con le informazione da te volute...
Modificato da Pietravairano il 06 luglio 2004 11.28 -

E' giusto quanto basta...,non toccare che si guasta!!!!
è possibile avere un esempio di una function che mi restituisce un dataset valido per la popolozione della dropdwonlist?

GustoInRete La Rete del Gusto
Immobili360 Annunci Immobiliari
65 messaggi dal 10 dicembre 2003
ò
Modificato da Pietravairano il 06 luglio 2004 12.24 -

E' giusto quanto basta...,non toccare che si guasta!!!!
io per popolare una dropdownlist solitamente butto giù questo codice

dim objConn as ODBCConnection = new ODBCConnection(strconn)
objConn.Open()
dim objCmd as new ODBCCommand (strSelect, objConn)
lstSquadre.DataSource = objCmd.ExecuteReader()
lstSquadre.DataValueField = "id"
lstSquadre.DataTextField = "testo"

end if
lstSquadre.DataBind()
lstSquadre.Items.Insert(0, New ListItem("Seleziona Squadra", 0))

ora non ho mai fatto una cosa con il dataSet come si può fare?

GustoInRete La Rete del Gusto
Immobili360 Annunci Immobiliari
65 messaggi dal 10 dicembre 2003
Ciao tu valorizzi ilo datasource con
 lstSquadre.DataSource = objCmd.ExecuteReader() 

di conseguenza l'ipotetica function dovrà restituire
objCmd.ExecuteReader()  
es.

dim objConn as ODBCConnection = new ODBCConnection(strconn) 
objConn.Open() 
dim objCmd as new ODBCCommand (strSelect, objConn) 
return objCmd.ExecuteReader() 



le propietà

DataValueFieldm e datatextfield vengono valorizzate nel tag server come ti ho scritto prima

E' giusto quanto basta...,non toccare che si guasta!!!!

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.