Scusate...non riesco a popolare un dropdownlist che si trova all'interno di un datagrid....quancuno mi sa dire come si fa???
Grazie
Scusate...non riesco a popolare un dropdownlist che si trova all'interno di un datagrid....quancuno mi sa dire come si fa???
Grazie
Ciao, io l'ho bindata al DB!
CMQ se ti serve, ho appena postato un esempio sull'argomento nel 3rd di Pietro "Modificare i dati nel DataGrid mediante un DropDownList".
In effetti per indirizzare il control bisogna fare :
Dim ddl As DropDownList = DataGrid1.Items(e.Item.ItemIndex).Cells(2).FindCon trol("DropDownList1")
e poi utilizzare l'oggetto ddl.
Iol'ho utilizzato per selezionare l'elemento corretto, però probabilmente si può fare anche:
dll.Items.Add("stringa")
Ciao, CICS
![]()
![]()
koning
ho guardato il tuo post sul l'altra discussione...il mio ds lo genero sempre da codice behind, provando a fare l'associazione come fai tu la cosa non riesce, ho provato ad usare il eval.databind ma non ho risolto niente....
altri idee per favore???
koning
![]()
Scusa, vorrei aiutarti, ma non ho presente come si possa fare quello che dici![]()
Puoi postarmi il code-behind a cui ti riferisci, così vedo com'è?
Ciao![]()
CICS
ti posto il mio codice di esempio
qui creo il dataset usando una classe da me realizzata e funziona
poi riempio il datagrid
Dim rifclass As New Uccellari.utilita.setdata()
Dim DS As New DataSet()
If Not IsPostBack Then
DS = rifclass.GetData("SELECT.... ")
DataGrid1.DataSource = DS
DataGrid1.DataKeyField = "NGL_DOC"
DataGrid1.DataBind()
Else
End If
nel codice HTML ti faccio vedere come esempio come riempio una checkbox....io vorrei fare lo stesso con un datagrid
<asp:TemplateColumn HeaderText="Caricato">
<HeaderStyle HorizontalAlign="Center" Width="80px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:CheckBox id=Caricato runat="server" Enabled="true" Checked='<%# DataBinder.Eval(Container.DataItem,"caricato") %>'>
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
koning
scusa..non datagrid ma dropdownlist
Provo a vedere se ho capito: tu hai creato una classe che popola il tuo DataSet collegato al DataGrid, e fin qui tutto OK.
Dentro il DataGrid vuoi mettere, e popolare, un DropDownList.
OK, 'sse pò ffà.
Per quanto riguarda il CheckBox, anch'io ho fatto come te, però il Checkbox ha bisogno di un solo valore (true o false) per essere "inizializzato" (infatti il DataBinder.Eval eccetera ritorna un valore per volta del record corrente), mentre il DropDownList necessita di una serie di valori, che possono essere una tabella o il risultato di una query, o una serie di valori qualsiasi impostata da codice.
Tale cosa si può fare passandogli nella proprietà "DataSource" un DataSet intero (progettato come necessità) e nel DataTextField il campo del dataset che vuoi visualizzare, cioè come ho fatto io :
<aspropdownlist id=Dropdownlist1 runat="server" DataSource="<%# DsFornitori1 %>" DataMember="SubFornitori" Width="456px" DataTextField="NomeSubFornitore" DataValueField="CodiceSubFornitore">
</aspropdownlist>
Oppure puoi farlo da codice VB, nell'evento EditCommand della DataGrid:
-associo il DataSet al DropDown:
ddl.DataSource = DsFornitori1
ddl.DataMember = "SubFornitori"
ddl.DataValueField = "CodiceSubFornitore"
ddl.DataTextField = "NomeSubFornitore"
ddl.DataBind()
-oppure ci schiaffo dentro i valori che mi servono:
dll.Items.Add("stringa1")
dll.Items.Add("stringa2")
Di più..... nin zò !!!:quipy: :quipy:![]()
CICS
è che non riesco a riferirmi all'oggetto dropdownlist (ne a riferirmi ne a dichiararlo) per poterlo riempire, perchè si trova come itemtemplate all'interno del datagrid.
Spero di essere stato + chiaro
HELPPPPPP
Koning
Ma da VB ?
Metti nell'EditCommand della Grid, o dove vuoi usarlo:
Dim ddl As DropDownList = DataGrid1.Items(e.Item.ItemIndex).Cells(2).FindCon trol("DropDownList1")
dove 2 è l'indice della colonna della Grid, "DropDownList1" è l'ID dell'oggetto ed "e" ce l'hai come parametro in inputdell'EditCommand e si riferisce al Grid.
E poi usi "dll" come oggetto che si riferisce alla tua istanza in edit a video.
Quello che mi sta venendo in mente è che se in effetti cerchi di puntarci se non sei in Edit della Grid (tipo nella PageLoad, per es.), forse non te lo vede proprio come oggetto!!
Prova a mettere la riga che ti ho messo sopra nell'editcommand e vedi se va....
Ciao!
![]()