165 messaggi dal 10 aprile 2001
Buongiorno.
Vorrei colorare alcune righe di una DropDownList, in base ad un valore nel record: ovvero, se nel record corrente (durante il popolamento della DropDownList) il valore di un campo è "vero", allora la riga corrente deve apparire colorata nella DropDownList.

La DropDownList è collegata a un SqlDataSource da cui prende i dati che devo verificare riga per riga.

Pensavo di seguire la logica che uso sulle GridView, ma magari sul DataBound del sqlDataSource...

If e.Row.RowType = DataControlRowType.DataRow Then
Dim cellHoldTrue As Boolean = CType(e.Row.Cells(9).Controls(0), CheckBox).Checked
' MsgBox(cellHoldTrue)
If cellHoldTrue = True Then
e.Row.BackColor = Drawing.Color.Red
End If
End If

Secondo voi qual è la strada migliore? Avete un esempio?
Modificato da robycave il 06 luglio 2017 16.52 - RISOLTO
ciao,
puoi provare con
foreach(...) {
    if(myClass.myProperty) {
        item.Attributes.Add("style", "background-color:red");
    }
}

Ormai programmano tutti... ma la professionalità appartiene a pochi
165 messaggi dal 10 aprile 2001
..sono proprio i parametri del For Each che non riesco a tirare fuori...
List<MyClass> myList = ...; // load list from database
foreach (MyClass c in myList)
{
   ListItem item  = new ListItem();
   item.Text = c.Descrizione;
   item.Value = c.Id;
   if (c.MyBool)
        item.Attributes.Add("style", "background-color:red");
   myDropDown.Items.Add(item);
}


Il codice è scritto a mano e non testato.

Ormai programmano tutti... ma la professionalità appartiene a pochi
165 messaggi dal 10 aprile 2001
La mia domanda era più orientata agli oggetti SqlDataSource e DropDownList: c'è un evento dove io possa leggere record per record durante la popolazione della DropDownList, ed operare direttamente sui parametri di tale evento?
Oppure devo svincolarmi dagli eventi degli oggetti e dalle loro proprietà, e gestire a parte, "manualmente", lettura dati e popolazione della DropDownList?
Saluti
Roberto
1.509 messaggi dal 27 dicembre 2005
Forse l'evento databound ti potrebbe aiutare.
165 messaggi dal 10 aprile 2001
totti240282 ha scritto:
Forse l'evento databound ti potrebbe aiutare.

è quello che ho scritto all'inizio
La domanda non è chiara...
Quando leggi i dati puoi usare il DataReader per ciclare i record

c'è un evento dove io possa leggere record per record durante la popolazione della DropDownList, ed operare direttamente sui parametri di tale evento?

E' il foreach che ti ho segnalato, altrimenti se vuoi evitare il doppio giro lavori sul DataReader.
Il Datareader è Data Access Layer, la dropdownlist è User Interface e le logiche andrebbero separate...

Ormai programmano tutti... ma la professionalità appartiene a pochi

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.