2016-04-16 9 views
0

Ich verwende Kendo Grid in einem MVC-Projekt. Die erste Spalte eine Checkbox, die durch ClientTemplate definiert:Kendo UI-Gitter nach Checkbox-Status sortieren?

.Columns(columns => 
    { 
     columns.Bound(c => c.Checked).ClientTemplate(@"<input type='checkbox' class='checkbox' />").Width(50).Title(""); 
     columns.Bound(c => c.Id).Hidden(); 
     columns.Bound(c => c.FirstName); 
     columns.Bound(c => c.LastName); 
     columns.Bound(c => c.Company); 
    }) 

Was ich haben will ist: vor dem Header klicken, sieht es aus wie der erste Screenshot. dann Änderungen an der Checkbox, klicken Sie erneut auf die Überschrift, es wird die Zeile nach dem Kontrollkästchen Status sortieren, siehe Screenshot 2.

Ich habe versucht, die erste Spalte sortierbar, aber alle anderen nicht sortierbar. Funktioniert immer noch nicht. Ich denke es ist, weil c.Checked immer falsch ist, wenn die Daten an das Raster binden. Wenn wir nun auf das Kontrollkästchen klicken, ändert sich der Wert nicht. Deshalb funktioniert die Sortierung für diese Spalte nicht.

Wie funktioniert das?

Dank

enter image description here

enter image description here

Antwort

0

.Sortable(true) nach einer Spalte Putting wird nichts tun, es sei denn das Sortieren auf das gesamte Raster aktiviert ist. Machen Sie das gesamte Raster sortierbar und deaktivieren Sie dann nur die Sortierung nach unerwünschten Spalten:

.Columns(c => 
{ 
    c.Bound(...).Width(..).Title(....); 
    c.Bound(...).Width(..).Title(....).Sortable(false); 
}) 
.Sortable()