Ich bin die ASP.NET MVC Open Source Telerik Kontrollen verwenden. Hier ist ein Beispiel, wie ich die Sortierung verwende. Es funktioniert für die Serversteuerung oder Ajax, aber ich habe festgestellt, dass das Ajax-Grid bei der Erstellung von zirkulären Referenzfehlern empfindlicher ist.
Dieses Ajax-Beispiel wird nach zwei Spalten sortiert. Die Logik ist für die Serverbindung identisch.
@(Html.Telerik().Grid(Model)
.Name("Grid")
.DataKeys(keys => keys.Add(c => c.category_id))
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("AjaxGridSelect", "CategoryTree")
.Insert("GridInsert", "CategoryTree", new { GridEditMode.PopUp, GridButtonType.ImageAndText })
.Update("GridUpdate", "CategoryTree", new { GridEditMode.InLine, GridButtonType.ImageAndText })
.Delete("GridDelete", "CategoryTree", new { GridEditMode.InLine, GridButtonType.ImageAndText }))
.Columns(columns =>
{
columns.Bound(p => p.category_name).Width(150);
columns.Bound(p => p.status_cd).Width(100);
columns.Command(commands =>
{
commands.Edit().ButtonType(GridButtonType.ImageAndText);
commands.Delete().ButtonType(GridButtonType.ImageAndText);
}).Width(180).Title("Commands");
})
.Editable(editing => editing.Mode(GridEditMode.InLine))
.Pageable(paging => paging.PageSize(50)
.Style(GridPagerStyles.NextPreviousAndNumeric)
.Position(GridPagerPosition.Bottom))
.Sortable(o => o.OrderBy(sortcol =>
{
sortcol.Add(a => a.category_name);
sortcol.Add(a => a.add_date);
})
.Filterable()
.Groupable()
.Selectable())
Es ist ein gutes Beispiel mit Code bei http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/sorting/defaultcs.aspx. Es sieht so aus, als ob sie Tags verwenden. Wenn du es auf andere Weise machen willst, solltest du sie am besten fragen. Ich habe gehört, dass sie wirklich gute Unterstützung haben. –