2011-01-11 18 views
10

Sto armeggiando con il MVCContrib Grid e sono bloccato su come formattare una riga di dati nella griglia basata sui dati.Come applicare uno stile alle righe nella griglia MVCContrib in base ai loro dati?

Ad esempio, supponiamo di disporre di una griglia di prodotti, in cui ogni prodotto contiene campi dati come nome, prezzo e interrotto. Mi piacerebbe evidenziare tutte le righe di prodotto che vengono interrotte.

Una soluzione alternativa sarebbe utilizzare jQuery sul lato client per applicare una classe CSS alle righe in cui la cella interrotta è VERA, ma sembra una soluzione fragile. Spero che ci sia un modo per farlo sul lato server tramite la chiamata al metodo Html.Grid.

Grazie

risposta

30

Ciao Scott: provare qualcosa di simile a quanto segue per aggiungere RowAttributes -

@Html.Grid(Model) 
    .WithModel(new CustomerGridModel()) 
    .Sort(ViewData["sort"] as GridSortOptions) 
    .Attributes(id => "grid", style => "width: 100%;") 
    .RowAttributes(data => new MvcContrib.Hash(
     @class => data.Item.Discontinued ? "discontinued" : "")) 

Questo aggiungerà un attributo class all'elemento TR. Quindi, creare una classe lungo le linee di:

tr.discontinued td {background-color: red;} 

Scusate per il lungo frammento di codice ...

+0

che ha funzionato a meraviglia, grazie! –

+1

Ho appena trovato questo ... frammento favoloso. Grazie! – Ben

+1

Avere un upvote! Questo ha funzionato alla grande per me nel mio progetto. Saluti! –

Problemi correlati