Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258

    compilare una drop down list all'interno di un ItemTemplate

    Ciao a tutti qualcuno sa come posso compilare un ddl all'interno di un Item Template.
    Questo è il codice della mia ddl:
    string query="Select * from Act where ActDes!=''";
    SqlCommand myCommand = new SqlCommand(query,conn);
    conn.Open();

    ddlActF.DataSource = myCommand.ExecuteReader();
    ddlActF.DataValueField = "ActOwnId";
    ddlActF.DataTextField = "ActDes";
    ddlActF.DataBind();

    conn.Close();

    Come devo metterlo x far compilare in automatico tutte le righe

    grazie mille
    ste

  2. #2
    Sul metodo ItemDataBound cerca il controllo dropdownlist e fai il bind

    codice:
    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
     If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
    
       if not e.Item.FindControl("Dropdownlist") is nothing then
       dim ddl as DropDwonList
       ddl = e.Item.FindControl("Dropdownlist") 
       BindDDL(ddl)
       end if
     End If
    
    End Sub
    
    Private Sub BindDDL(ByRef ddl As DropDwonList)
       ddl.DataSource = dt 'dt è una datatable definita a livello di classe con i dati che ti servono. (questo per non rieseguire la query tutte le volte)
       ddl.DataBind()
    End Sub
    Fammi sapere
    Ciao
    Kalman
    Kalman

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    ma ItemDataBind dove devo dichiararlo?
    ste

  4. #4
    Non è una variabile ma un evento della griglia!

    Ciao
    Kalman
    Kalman

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    ah ok

    Comunque mi dice che non riesce a convertire System.Web.UI.Control in System.Web.UI.Control.DropDownList su questa parte:
    if ((e.Item.ItemType==ListItemType.AlternatingItem) || (e.Item.ItemType==ListItemType.Item))
    {
    if (! (e.Item.FindControl("Dropdownlist")==null))
    {
    DropDownList ddl=e.Item.FindControl("Dropdownlist");
    BindDDL(ddl);
    }
    }
    ste

  6. #6
    Pensavo fosse vb

    Mettici un bel cast allora!

    Ciao
    Kalman
    Kalman

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    non capisco c'è un'errore ma non saprei cosa fare:

    public void ItemDataBind (object sender, DataGridItemEventArgs e )
    {
    if ((e.Item.ItemType==ListItemType.AlternatingItem) || (e.Item.ItemType==ListItemType.Item))
    {
    if (! (e.Item.FindControl("Dropdownlist")==null))
    {
    DropDownList ddl=((DropDownList)e.Item.FindControl("Dropdownlis t"));
    compila_ddlFunz(ddl);
    }
    }
    }

    void compila_ddlFunz(DropDownList ddl)
    {
    int actId=Convert.ToInt32(Session["actId"]);
    string query_ddl="Select * from Ana, Qpa where Qpa.QpaAnaId=Ana.AnaOwnId and QpaActId="+ actId;
    SqlCommand cmd = new SqlCommand(query_ddl,conn);

    conn.Open();
    ddl.DataSource = cmd.ExecuteReader();
    ddl.DataValueField = "AnaOwnId";
    ddl.DataTextField = "AnaLnm";
    ddl.DataBind();
    conn.Close();
    }
    l'errore è il seguente:
    "Il metodo 'Sisco_Test.Qpa.ItemDataBind(object, System.Web.UI.WebControls.DataGridItemEventArgs)' non corrisponde al delegato 'void System.EventHandler(object, System.EventArgs)'."

    credo che l'errore sia dato nella parte che ho messo in grassetto solo che non saprei con cosa sostituirla

    Il databind l'ho messo nel datagrid come mi hai detto
    <asp:datagrid OnDataBinding="ItemDataBind" .....
    ste

  8. #8
    Ho aggiunto un evento pippo alla griglia per gestire l'evento

    this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler (this.pippo);

    private void pippo(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){}


    Fammi sapere
    Ciao
    Kalman
    Kalman

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    adesso dice:
    Messaggio di errore del compilatore: CS0117: 'ASP.Qpa_aspx' non contiene una definizione per 'ItemDataBind'.

    e mi seleziona questa riga

    <aspataGrid id="DataGrid2" runat="server" CssClass="stile_tabella" AutoGenerateColumns="False" BorderColor="#FF8000" OnDataBinding="ItemDataBind">
    ste

  10. #10
    Hai ancora quel metodo???


    <aspataGrid id="DataGrid2" runat="server" CssClass="stile_tabella" AutoGenerateColumns="False" BorderColor="#FF8000" >


    K
    Kalman

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.