Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Belo Horizonte, Brazil
    Messaggi
    258

    [2.0-C#] Al caricamente di una pagina visualizzare un dato sulla dropdownlist

    Ciao a tutti!
    Il mio problema è il seguente: al primo caricamento della pagina dovrei visualizzare, su due dropdownlist, dei dati presi da una tabella del db in base ad altri campi di questa stessa tabella.
    Una ddl dipende dall'altra, cioè quando scelgo un dato della prima mi carica la seconda in base al dato che ho scelto nella prima.
    Però vorrei sapere come caricare in automatico (quando sarà selezionato al primo caricamento della pagina la ddl1) la seconda ddl perché proprio non ci riesco. Se uso .SelectedValue non mi fa niente, mi visualizza il primo dato della lista. Se invece faccio .SelectedItem.Text mi dà un errore.
    Non so se sono stato chiarissimo dove vorrei arrivare.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    se ho ben capito, prova con:

    codice:
    ddl1.SelectedIndex = 0
    dopo il caricamento della ddl1 e prima del caricamento della ddl2.
    Forse non avevi selezionato nessun Item...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Belo Horizonte, Brazil
    Messaggi
    258
    Originariamente inviato da djciko
    se ho ben capito, prova con:

    codice:
    ddl1.SelectedIndex = 0
    dopo il caricamento della ddl1 e prima del caricamento della ddl2.
    Forse non avevi selezionato nessun Item...
    Ehm.. mi sono spiegato male. xD
    Allora. Ho messo del codice nel page load:

    codice:
    if (!IsPostBack)
    {
    string dipendente = Request.QueryString["dipendente"];
            string giorno = Request.QueryString["giorno"];
            string orario = Request.QueryString["orario"];
            string cliente = Request.QueryString["cliente"]; // dati che vengono presi da un'altra pagina
    
            Lab_EMC mioLab_EMC = new Lab_EMC(); // classe con i comandi di select
    
            ddlID_Dipendente.SelectedValue = dipendente;
            txtDatainizio.Text = giorno;
            rblOrarioinizio.SelectedValue = orario;
            txtDatafine.Text = mioLab_EMC.CaricaDatafine(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, dipendente);
            rblOrariofine.SelectedValue = mioLab_EMC.CaricaOrariofine(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, dipendente);
            ddlCliente.SelectedValue = cliente; // questo è la ddl1. Ho messo un SqlDataSource che mi carica tutti i clienti. Su questa ddl la visualizzazione mi funziona, cioè riesco a visualizzare il dato che c'è sulla riga di dati.
            ddlCommessa.SelectedValue = mioLab_EMC.CaricaCommessa(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, dipendente); // questa invece, ddl2, non fa niente. Viene selezionata la prima della lista. Notare che anche questa ha una SqlDataSource, che però nella WHERE ha un control di questo tipo: Cliente= @Cliente
            txtDescr.Text = mioLab_EMC.CaricaDescr(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, dipendente);
    }
    A parte la ddl2, il tutto funziona correttamente.

  4. #4
    dunque, vediamo prima di tutto se ho capito :master:,

    ddlCliente.SelectedValue = cliente;

    questo va bene

    cosa fa mioLab_EMC.CaricaCommessa? carica la lista delle commesse o solo il valore da selezionare?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Belo Horizonte, Brazil
    Messaggi
    258
    Originariamente inviato da Gluck74
    dunque, vediamo prima di tutto se ho capito :master:,

    ddlCliente.SelectedValue = cliente;

    questo va bene

    cosa fa mioLab_EMC.CaricaCommessa? carica la lista delle commesse o solo il valore da selezionare?
    Il valore da selezionare, scusa se non l'ho detto.
    Per la lista delle commesse ho fatto una sqldatasource, come per i clienti.
    Forse non va perché nel primo giro di Page_Load la lista su clienti è ancora vuota, possibile? Forse no, perché se così fosse mi darebbe errore anche nella ddl1.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39

    Re: [2.0-C#] Al caricamente di una pagina visualizzare un dato sulla dropdownlist

    Originariamente inviato da x_raystyle
    Una ddl dipende dall'altra, cioè quando scelgo un dato della prima mi carica la seconda in base al dato che ho scelto nella prima.
    Per caso vuoi ottenere qualcosa del genere?

    http://www.asp.net/AJAX/AjaxControlT...gDropDown.aspx

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Belo Horizonte, Brazil
    Messaggi
    258

    Re: Re: [2.0-C#] Al caricamente di una pagina visualizzare un dato sulla dropdownlist

    Originariamente inviato da jerry74
    Per caso vuoi ottenere qualcosa del genere?

    http://www.asp.net/AJAX/AjaxControlT...gDropDown.aspx
    Sìsì, questo lo so fare. Il caso è che se ci fossero dei dati salvati sul db, per esempio:
    Cliente: abc
    Commessa: def

    Vorrei che all'apertura della pagina me li visualizzassero in automatico.
    Il cliente ci riesco perché passo la stringa da una pagina all'altra, poi faccio la ".SelectedValue = cliente".
    Ma per la commessa che non passo la stringa utilizzando Request.QueryString?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39
    Quindi interrogando il db sai che il nome della commessa associata al cliente è per esempio 'def'. Giusto?

    Se è così puoi utilizzare un ciclo foreach su ListItems della Dropdownlist e quando trova la commessa che si chiama 'def' dai quello come selected.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Belo Horizonte, Brazil
    Messaggi
    258
    Originariamente inviato da jerry74
    Se è così puoi utilizzare un ciclo foreach su ListItems della Dropdownlist e quando trova la commessa che si chiama 'def' dai quello come selected.
    Come lo faresti?
    Ho provato a fare una cosa del genere:

    codice:
    foreach (System.Collections.IDictionary Items in ddlCommessa.Items)
                {
                    ddlCommessa.Items.FindByText(mioLab_EMC.CaricaCommessa(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, dipendente));
                    ddlCommessa.SelectedValue = mioLab_EMC.CaricaCommessa(txtDatainizio.Text, rblOrarioinizio.SelectedItem.Text, dipendente);
                }
    ma non entra mai nel foreach.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    39
    Io faccio così:

    Dopo aver popolato la ddl avvio il ciclo foreach

    codice:
    foreach (System.Web.UI.WebControls.ListItem li in ddList.Items)
    {
         if(li.Value == 'valore da cercare'){ li.Selected = true; }
    }

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.