61 messaggi dal 05 settembre 2008
Scusate la domanda banale ma non riesco a trovare la soluzione.
Ho un controllo CheckBoxList1 caricato mediante un SqlDataSource che attinge ai dati di una tabella di SqlServer2005.
A video pertanto visualizzo i checkbox con le relative 6 voci (perche' 6 sono i record della tabella caricata).
Quello che voglio ottenere e' che quando vado a mettere il flag sulla 6a voce si deve visualizzare una textbox precedentemente nascosta, mentre quando la deseleziono, la textbox deve tornare invisibile.
Per fare questo ho scritto questo codice:
    protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (CheckBoxList1.SelectedValue == "6")
        {
            txtAltroIntervento.Visible = true;
        }
        else
        {
            txtAltroIntervento.Visible = false;
        }
    }

Il problema nasce quando faccio una selezione multipla, ad esempio la 1a e la 6a, oppure tutte e 6. Questo codice non va bene perche' io vorrei selezionare qualsiasi voce e solo quando seleziono la 6a si deve attivare la visibilita' sulla textbox.
Mi sapete indicare come modificare il codice?
Grazie 1000.
Marco
6 messaggi dal 06 luglio 2011
Ciao,
in caso di selezione multipla, la proprietà SelectedValue restituisce il valore dell'elemento con indice più basso. Per verificare se un altro elemento è selezionato, puoi cercare l'elemento nell'insieme Items del CheckboxList tramite i metodi FindByText e FindByValue e
verificando la proprietà Selected, in questo modo:

public void CheckbokList_SelectedIndexChanged(object sender, EventArgs e)
{
     txtAltroIntervento.Visible = CheckboxList1.Items.FindByValue("6").Selected;
}


Spero di esserti stato utile
Ciao
61 messaggi dal 05 settembre 2008
PERFETTO, e' proprio quello di cui avevo bisogno!!!!
Grazie, mi sei stato di grande aiuto.
Marco

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.