2012-05-17 17 views
5

Próbuję użyć Webgrid i mogę uzyskać dane do wyświetlenia, ale wartości bool są tam, gdzie mam problemy. Chciałbym po prostu wyświetlić pole wyboru, które ma wartość mojego bool. Udało mi się uzyskać pole wyboru w siatce, ale jest ono edytowalne i nie pokazuje poprawnie wartości.Wyświetlanie wartości logicznej jako pola wyboru w Webgrid

grid.GetHtml(tableStyle: "table", alternatingRowStyle: "alternate", headerStyle: "header", 
columns: grid.Columns(grid.Column(columnName: "string1", header: "String1", format: @<text>@item.string1</text>), 
grid.Column(columnName: "bool1", header: "bool1", format: bool1? </text>), 

Jeśli ktoś zrobił to już wcześniej i może rzucić nieco światła na to, jak prawidłowo wyświetlić bool jako pole wyboru, które byłyby mile widziane!

Odpowiedz

14

Spróbuj na kolumnie bool:

grid.Column(columnName: "bool1", 
    header: "bool1", 
    format: (item) => @Html.Raw("<input type='checkbox' " + ((item.bool1==true) ? "checked" : "") + " disabled='disabled' />") 
) 
+0

To pokazuje pole wyboru, ale z jakiegoś powodu nie wyświetla poprawnie wartości. Ustawiłem to tak, jak ty pokazujesz, a także starałeś się, aby kod był prawdziwy i fałszywy jako wartość, ale wciąż nie zmienia się, czy pokazuje się sprawdzone czy nie. Nie wiem, dlaczego wartość nie działa! – RicketyBowby

+0

@RicketyBowbyh przepraszam, mój błąd. Atrybut rzeczywiście musi być * checked = checked *, not * checked = true *. Zobacz moją aktualizację powyżej. – McGarnagle

+0

Tak, to zrobię. Dzięki również znalazłem to działa zbyt format: @) – RicketyBowby

0

poniższy kod działa dla wyboru w mvc5.

grid.column("Active", header: "Assign", 
    @if (@item.Active){<input type="checkbox" checked="checked" spellcheck="true"/>} 
    else{<input type="checkbox" spellcheck="true" />} </text>)