私はASP.NET MVCオープンソースTelerikコントロールを使用しています(ロバートによって上記のリンク)知識の偉大な源です。ここでは、ソートの使い方の例を示します。サーバーコントロールやAjaxで動作しますが、循環参照エラーを生成する限り、Ajaxグリッドはより敏感です。
このAjaxの例では、2つの列でソートされています。ロジックはサーバーバインディングと同じです。
@(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())
コードの良い例がhttp://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/sorting/defaultcs.aspxにあります。彼らはタグを使用しているように見えるので、あなたが他のやり方をしたいのであれば、あなたには最高の賭けがあります。彼らが本当に良いサポートをしていると聞いたことがあります。 –