Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    Popolare Dropdownlist all'interno di un Datagrid

    Scusate...non riesco a popolare un dropdownlist che si trova all'interno di un datagrid....quancuno mi sa dire come si fa???

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Cics
    Registrato dal
    Feb 2003
    Messaggi
    22
    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



  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    grazie mille

    koning

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    ho provato e ...

    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

  5. #5
    Utente di HTML.it L'avatar di Cics
    Registrato dal
    Feb 2003
    Messaggi
    22

    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    Grazie dell'aiuto

    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236
    scusa..non datagrid ma dropdownlist

  8. #8
    Utente di HTML.it L'avatar di Cics
    Registrato dal
    Feb 2003
    Messaggi
    22

    Tutto ciò che so.... o quasi !! ;-))

    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

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    236

    il problema

    è 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

  10. #10
    Utente di HTML.it L'avatar di Cics
    Registrato dal
    Feb 2003
    Messaggi
    22
    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!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.