2012-05-17 9 views
5

Ich versuche, ein WebGrid zu verwenden, und ich kann die Daten anzeigen, aber die Bool-Werte sind, wo ich Probleme habe. Ich möchte nur ein Kontrollkästchen anzeigen, das den Wert meines Bool hat. Ich konnte ein Kontrollkästchen innerhalb des Rasters erhalten, aber es ist editierbar und zeigt den Wert nicht korrekt an.Anzeige eines Boolean als Kontrollkästchen in einem 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>), 

Wenn jemand zuvor getan hat und könnte etwas Licht auf, wie man richtig einen bool als Kontrollkästchen angezeigt werden Schuppen, die geschätzt werden würde!

Antwort

14

Versuchen Sie, diese für die Bool Spalte:

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

Dies zeigt ein Kontrollkästchen, aber aus irgendeinem Grund zeigt es den Wert nicht richtig an. Ich habe es so eingestellt, wie du es zeigst, und auch versucht, richtig und falsch als Wert zu kodieren, aber immer noch keine Änderung, ob es überprüft wird oder nicht. Nicht sicher, warum der Wert nicht funktioniert! – RicketyBowby

+0

@RicketyBowby ah Entschuldigung, mein Fehler. Das Attribut muss eigentlich * checked = checked *, not * checked = true * sein. Bitte beachten Sie mein Update oben. – McGarnagle

+0

ja, das werde ich tun. Danke auch gerade gefunden das funktioniert auch Format: @) – RicketyBowby

0

unten für Checkbox in mvc5 Arbeitscode.

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