如何在Telerik GridView的sort命令中获取Sorted列名和排序顺序

时间:2013-06-10 09:54:04

标签: asp.net .net telerik telerik-grid

我直接提出问题,我如何使用Sorted column sort order sort command中的Telerik Grid View来获取{{1}}的名称?

期待您的回复。

3 个答案:

答案 0 :(得分:1)

你可以得到这样一个独特的名字:

protected void RadGrid1_SortCommand(object source, GridSortCommandEventArgs e) 
{ 
   foreach(GridColumn col in RadGrid1.MasterTableView.RenderColumns) 
    if (col is GridBoundColumn && (col as GridBoundColumn).DataField == e.SortExpression) 
        RadAjaxManager1.Alert(col.UniqueName); 
} 

答案 1 :(得分:1)

我认为你的意思是控制器上的一个功能。如果'ExampleFunction'是绑定到网格中的.Read()的那个:

    public ActionResult ExampleFunction([DataSourceRequest] DataSourceRequest request)
    {
        SortDescriptor sortDescriptor = request.Sorts.FirstOrDefault();

        if(sortDescriptor != null)
        {
            if(sortDescriptor.SortDirection == ListSortDirection.Ascending)
            {
                switch(sortDescriptor.Member)
                {
                    case "Column1":
                        // Sort on Column1
                        break;
                    case "Column2":
                        // Sort on Column2
                        break;
                }
            }
            else
            {
                switch(sortDescriptor.Member)
                {
                    case "Column1":
                        // Sort on Column1 (descending)
                        break;
                    case "Column2":
                        // Sort on Column2 (descending)
                        break;
                }
            }
        }
        else
        {
            // Set default sorting
        }

        // Do Other Stuff
    }

答案 2 :(得分:0)

我自己解决了。我很欣赏我在这个问题上得到的答案。 但这很容易做到如下:

e.SortExpression返回已排序列的名称

e.NewSortOrder返回排序顺序(asc或desc)