为ASP.NET MVC排序Telerik RadGrid

时间:2009-08-02 19:00:21

标签: asp.net-mvc telerik radgrid

对Telerik的RadGrid进行排序的方法是什么?我不想添加表单服务器标签,我不想使用带有代码的用户控件,就像我见过的一个例子(因为我认为这些不是真正的MVC解决方案,我是对的吗?)。 请指出一个示例或发布示例代码...

提前致谢。

2 个答案:

答案 0 :(得分:0)

对于您的telerik问题,您应该转到http://www.telerik.com/community/forums.aspx

他们的支持很棒,如果论坛没有削减它只是发送正式请求,你将需要创建一个包含你的问题的演示项目。我已经使用了telerik产品多年,他们在几天内就会回答你的问题。

演示网站也是一个很好的知识来源(上面链接罗伯特)

答案 1 :(得分:0)

我正在使用ASP.NET MVC开源Telerik控件。这是我如何使用排序的一个例子。它适用于服务器控件或Ajax,但我发现Ajax网格在创建循环引用错误时更加敏感。

这个Ajax示例按两列排序。服务器绑定的逻辑是相同的。

@(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())