Salve a tutti,
secondo voi e' possibile inserire una nuova dropdownlist da codice, costruita al volo con opportuni items presi dal db, una volta andati in editing su un datagrid, all'interno dell'<edititemtemplate> ?
Salve a tutti,
secondo voi e' possibile inserire una nuova dropdownlist da codice, costruita al volo con opportuni items presi dal db, una volta andati in editing su un datagrid, all'interno dell'<edititemtemplate> ?
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
non mi sembra particolarmente difficile anche se non ho capito bene cosa intendi per
quindi se non ho capito male basta che nel momento in cui vai in edit richiami una funzione che popola la dropdown e chiama il suo databind. Se la vuoi creare al volo (perche?) prima di fare quanto detto la crei e la aggiungi ad un contenitore di controlli (es. placeholder) posizionato nel punto che vuoi tu.inserire una nuova dropdownlist da codice, costruita al volo
Saluti a tutti
Riccardo
Originariamente inviato da riccardone
non mi sembra particolarmente difficile anche se non ho capito bene cosa intendi per ...
quindi se non ho capito male basta che nel momento in cui vai in edit richiami una funzione che popola la dropdown e chiama il suo databind. Se la vuoi creare al volo (perche?) prima di fare quanto detto la crei e la aggiungi ad un contenitore di controlli (es. placeholder) posizionato nel punto che vuoi tu.
Intendevo costruita da code-behind...La devo creare dinamicamente perchè deve contenere campi presi da un db.
quindi tu intendi, avendo il placeholder posizionato in questo modo:
codice:<edititemtemplate> <TABLE WIDTH="100%" BORDER="1" BORDERCOLOR="#6788A7" CELLPADDING="0" CELLSPACING="0"> <TR><TD ALIGN="left" WIDTH="20%">IdGruppo:</TD> <TD ALIGN="left"> <asp:placeholder ID="ph_gruppi" runat="server"></asp:placeholder> </TD></TR> </TABLE> </edititemtemplate>?codice:Dim conta as Integer conta = 0 Dim dd_gruppi as New DropDownList() While reader.read() Dim Testo as String Dim Valore as String Testo = reader("id").ToString & " - " & reader ("descrizione").ToString Valore = reader("id").ToString Dim ListGruppo As New ListItem() ListGruppo.Text = Testo ListGruppo.Value = Valore dd_gruppi.Items.Insert(conta, ListGruppo) conta = conta + 1 End While ph_gruppi.Controls.Add(dd_gruppi)
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
con quanto appena detto non e' chiaro se intendi piu' campi (colonne) oppure dicendo "campi presi da un db" intendi "valori" contenuti nel db. In quest'ultimo caso, come gia' detto, non vedo alcuna necessita' di "crearsi al volo" una drop down. Mettine una nella sezione edititem... della datagrid. Quando vai in edit, la popoli con tutti i valori presi dal db.Originariamente inviato da djciko
Intendevo costruita da code-behind...La devo creare dinamicamente perchè deve contenere campi presi da un db.
Saluti a tutti
Riccardo
Intendo VALORI presi da un DB..Ma il problema e' che questi valori li ottengo facendo una SELECT su una tabella diversa da quella su cui sono in edit !Originariamente inviato da riccardone
con quanto appena detto non e' chiaro se intendi piu' campi (colonne) oppure dicendo "campi presi da un db" intendi "valori" contenuti nel db. In quest'ultimo caso, come gia' detto, non vedo alcuna necessita' di "crearsi al volo" una drop down. Mettine una nella sezione edititem... della datagrid. Quando vai in edit, la popoli con tutti i valori presi dal db.
Secondo me inoltre ci stiamo "arravogliando" con le parole...Ti spiego meglio :
Io ora sto tentando di aggiungere la DropDownList all'EditItem, dopo averla creata (senza DataBind), creando i ListItem con il testo che e' l'unione di due campi del risultato della (nuova) select...
Ma continua a dirmi "Object reference not set to an instance of an object" sul pannello nel quale poi aggiungo la DropDown..![]()
Ho provato a fare un'unica SELECT in origine, prendendo anche i campi che mi servivano in JOIN....Ma il framework, quando tentavo di assegnare i due valori concatenati ad un <ASP:ListItem>, mi avvisava che quest'ultimo non support il Bind(). Giustamente.
Spero di essere stato più chiaro..grazie della pazienza. :rollo:
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
up
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
nell'evento di edit del datagrid
questo lo devi fare quandi l'item del datagrid è in stato di editcodice:Dim conta as Integer conta = 0 Dim dd_gruppi as New DropDownList() While reader.read() Dim Testo as String Dim Valore as String Testo = reader("id").ToString & " - " & reader ("descrizione").ToString Valore = reader("id").ToString Dim ListGruppo As New ListItem() ListGruppo.Text = Testo ListGruppo.Value = Valore dd_gruppi.Items.Insert(conta, ListGruppo) conta = conta + 1 End While tuodatagrid.item(tuodatagrid.edititemindex).findcontrol("ph_gruppi").Controls.Add(dd_gruppi)
Hey hey, my my Rock and roll can never die!
Funziona, utilizzando pero' itemS al posto di item...(item è un metodo di System.Windows.Forms.DataGrid) -- Grazie 999 + 1 !!
Ma come mai (sto sbattendo da ore) non posso riferirmi ad un controllo interno ad un datagrid in questo modo ? :
Sbaglio il momento ? L'ITEM non è forse in edit quando scrivo :codice:Sub grid_licenze_EditCommand (s as Object, e As DataGridCommandEventArgs) grid_licenze.EditItemIndex = e.Item.ItemIndex load_grid (<--- questa sub ricarica la grid) Dim place as New PlaceHolder place = e.Item.FindControl("ph_gruppi") . . . (credo la DropDown) place.add(dd_gruppi) End Sub
Oppure non sto operando su quel controllo (quello nel datagrid..) ?codice:grid_licenze.EditItemIndex = e.Item.ItemIndex load_grid
Boh !![]()
...Inoltre, mi sbaglio o le cose si sono un pochettino COMPLICATE rispetto al passato ? (spunto di discussione...)(per passato intendo ASP classic !!)
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Originariamente inviato da djciko
Funziona, utilizzando pero' itemS al posto di item...(item è un metodo di System.Windows.Forms.DataGrid) -- Grazie 999 + 1 !!
Ma come mai (sto sbattendo da ore) non posso riferirmi ad un controllo interno ad un datagrid in questo modo ? :
Sbaglio il momento ? L'ITEM non è forse in edit quando scrivo :codice:Sub grid_licenze_EditCommand (s as Object, e As DataGridCommandEventArgs) grid_licenze.EditItemIndex = e.Item.ItemIndex load_grid (<--- questa sub ricarica la grid) Dim place as New PlaceHolder place = e.Item.FindControl("ph_gruppi") . . . (credo la DropDown) place.Controls.Add(dd_gruppi) End Sub
Oppure non sto operando su quel controllo (quello nel datagrid..) ?codice:grid_licenze.EditItemIndex = e.Item.ItemIndex load_grid
Boh !![]()
...Inoltre, mi sbaglio o le cose si sono un pochettino COMPLICATE rispetto al passato ? (spunto di discussione...)(per passato intendo ASP classic !!)
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
invece di modificare mi sono auto-quotato..Sorry sarà la stanchezza![]()
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/