Pagina 5 di 5 primaprima ... 3 4 5
Visualizzazione dei risultati da 41 a 47 su 47
  1. #41
    mi sono accorto di un grosso errore.
    in pratica ora come ora il filtro funziona bene solo al primo valore selezionato.
    quando seleziono un altro valore, sulla seconda ddl i dati si sommano invece di cambiare.
    cioè:
    sulla prima ddl scelgo una voce e sulla seconda ddl compaiono solo due voci ed è giusto.
    poi nella prima ddl seleziono un'altra voce; a questo punto nella seconda ddl dovrebbero comparire solo tre voci e invece ne compaiono 5: quelle giuste più quelle due precedenti.
    vi posto un esempio di due ddl, ma l'errore si ripete su tutte:
    codice:
                <td>
                    <asp:DropDownList ID="DropDownList4" runat="server" DataSourceID="SqlDataSource2"
                        DataTextField="Fornitore" DataValueField="Fornitore" AppendDataBoundItems="True"
                        AutoPostBack="True" OnSelectedIndexChanged="filtraFornitori">
                        <asp:ListItem Selected="True" Value="*">*</asp:ListItem>
                    </asp:DropDownList>
                    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:MYTELENEWS %>"
                        SelectCommand="SELECT DISTINCT Fornitore FROM [files_deploy]"></asp:SqlDataSource>
                </td>
                <td>
                    <asp:DropDownList ID="DropDownList5" runat="server" DataSourceID="SqlDataSource3"
                        DataTextField="Simboli" DataValueField="Simboli" AppendDataBoundItems="True"
                        AutoPostBack="True" OnSelectedIndexChanged="filtraSimboli">
                        <asp:ListItem Selected="True" Value="*">*</asp:ListItem>
                    </asp:DropDownList>
                    <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:MYTELENEWS %>"
                        SelectCommand="SELECT DISTINCT [Simboli] FROM [files_deploy] WHERE ([Fornitore] = @Fornitore)">
                        <SelectParameters>
                            <asp:ControlParameter ControlID="DropDownList4" DefaultValue="Fornitore" Name="Fornitore"
                                PropertyName="SelectedValue" Type="String" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                </td>
    help me nn so più dove guardare!!

  2. #42
    ho capito qual'è il problema: AppendDataBound.
    con quello disattivato il filtro è sempre preciso.
    però nn compare * come prima voce.
    ho provato con una ddl di prova da codebehind:
    codice:
                System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYTELENEWS"].ConnectionString);
                System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM [gruppi]", conn);
                conn.Open();
                System.Data.DataSet ds = new System.Data.DataSet();
                adapter.Fill(ds);
    
                ddlProva.AutoPostBack = true;
                //ddlProva.AppendDataBoundItems = true;
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
                ddlProva.DataSource = ds;
                ddlProva.DataValueField = "gruppo#";
                ddlProva.DataTextField = "descrizione";
                ddlProva.DataBind();
    senza Append funziona il filtro ma nn aggiunge la prima voce.
    come posso rimediare??

  3. #43
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    Originariamente inviato da fermat
    ho capito qual'è il problema: AppendDataBound.
    con quello disattivato il filtro è sempre preciso.
    però nn compare * come prima voce.
    ho provato con una ddl di prova da codebehind:
    codice:
                System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYTELENEWS"].ConnectionString);
                System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM [gruppi]", conn);
                conn.Open();
                System.Data.DataSet ds = new System.Data.DataSet();
                adapter.Fill(ds);
    
                ddlProva.AutoPostBack = true;
                //ddlProva.AppendDataBoundItems = true;
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
                ddlProva.DataSource = ds;
                ddlProva.DataValueField = "gruppo#";
                ddlProva.DataTextField = "descrizione";
                ddlProva.DataBind();
    senza Append funziona il filtro ma nn aggiunge la prima voce.
    come posso rimediare??
    appena esegui il databind, praticamente resetti i valori della combo
    prova a mettere il
    ddlProva.Items.Insert(0, new ListItem("*", "*"));
    come ultima istruzione
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  4. #44
    dici così (ho provato ad aggiungere anche una clasola WHERE ma nn so l'ho scritta giusta):
    codice:
                System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYTELENEWS"].ConnectionString);
                System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM [gruppi] WHERE soluzione# = " + DropDownList3.SelectedIndex, conn);
                conn.Open();
                System.Data.DataSet ds = new System.Data.DataSet();
                adapter.Fill(ds);
    
                ddlProva.AutoPostBack = true;
                ddlProva.AppendDataBoundItems = true;
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
                ddlProva.DataSource = ds;
                ddlProva.DataValueField = "gruppo#";
                ddlProva.DataTextField = "descrizione";    
                ddlProva.DataBind();
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
    così mi da solo asterischi.

  5. #45
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    Originariamente inviato da fermat
    dici così (ho provato ad aggiungere anche una clasola WHERE ma nn so l'ho scritta giusta):
    codice:
                System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYTELENEWS"].ConnectionString);
                System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM [gruppi] WHERE soluzione# = " + DropDownList3.SelectedIndex, conn);
                conn.Open();
                System.Data.DataSet ds = new System.Data.DataSet();
                adapter.Fill(ds);
    
                ddlProva.AutoPostBack = true;
                ddlProva.AppendDataBoundItems = true;
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
                ddlProva.DataSource = ds;
                ddlProva.DataValueField = "gruppo#";
                ddlProva.DataTextField = "descrizione";    
                ddlProva.DataBind();
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
    così mi da solo asterischi.
    ora non sapendo cosa contiene la where immagiino che non ti restituisce niente, quindi continua ad aggiungere asteristi visto che hai
    ddlProva.AppendDataBoundItems = true;
    se togli questa istruzione mi sa che ti resitutisce un solo asterisco vero?
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  6. #46
    codice:
                 System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYTELENEWS"].ConnectionString);
                System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter("SELECT * FROM [gruppi]", conn);
                conn.Open();
                System.Data.DataSet ds = new System.Data.DataSet();
                adapter.Fill(ds);
    
                ddlProva.AutoPostBack = true;
                //ddlProva.AppendDataBoundItems = true;
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
                ddlProva.DataSource = ds;
                ddlProva.DataValueField = "gruppo#";
                ddlProva.DataTextField = "descrizione";
                ddlProva.DataBind();
                ddlProva.Items.Insert(0, new ListItem("*", "*"));
    ho levato per un attimo il where.
    così ottengo tutti i risultati della query e un solo asterisco.

    adesso devo aggiungerci un filtro.
    e cioè se nella prima ddl è selezionato * allora la query va bene così.
    sennò devo usare la prima ddl come filtro.

  7. #47
    allora ho riscritto le ddl da code behind:
    codice:
    protected void ddlNetworkSource()
            {
                SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYTELENEWS"].ConnectionString);
                SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM soluzioni", conn);
                conn.Open();
                DataSet ds = new DataSet();
                adapter.Fill(ds);
    
                ddlNetwork.AutoPostBack = true;
                //ddlProva.AppendDataBoundItems = true;
                ddlNetwork.Items.Insert(0, new ListItem("*", "0"));
                ddlNetwork.DataSource = ds;
                ddlNetwork.DataValueField = "soluzione#";
                ddlNetwork.DataTextField = "descrizione";
                ddlNetwork.DataBind();
                ddlNetwork.Items.Insert(0, new ListItem("*", "0"));
            }
    
            protected void ddlGruppiSource()
            {
                SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYTELENEWS"].ConnectionString);
                SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM gruppi", conn);
                conn.Open();
                DataSet ds = new DataSet();
                adapter.Fill(ds);
    
                ddlGruppi.AutoPostBack = true;
                //ddlProva.AppendDataBoundItems = true;
                ddlGruppi.Items.Insert(0, new ListItem("*", "*"));
                ddlGruppi.DataSource = ds;
                ddlGruppi.DataValueField = "gruppo#";
                ddlGruppi.DataTextField = "descrizione";
                ddlGruppi.DataBind();
                ddlGruppi.Items.Insert(0, new ListItem("*", "*"));
            }
    ddlGruppi deve avere tutti i risultati quando su ddelNetwork è selezionato l'asterisco.
    sennò ddlNetwork deve fare da filtro a ddlGruppi.
    la query su ddelGruppi per capirci è:
    SELECT * FROM gruppi WHERE soluzione# = soluzione# di ddlNetwork.

    come posso fare??

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 © 2026 vBulletin Solutions, Inc. All rights reserved.