【发布时间】:2013-06-10 09:54:04
【问题描述】:
我有一个直截了当的问题,即如何使用sort command 的sort order 中的sort order 获取Sorted column 的名称?
期待您的回复。
【问题讨论】:
标签: asp.net .net telerik telerik-grid
我有一个直截了当的问题,即如何使用sort command 的sort order 中的sort order 获取Sorted column 的名称?
期待您的回复。
【问题讨论】:
标签: asp.net .net telerik telerik-grid
你可以像这样得到唯一的名字:
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);
}
【讨论】:
我假设您的意思是在控制器上的功能中。如果 '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
}
【讨论】:
我自己解决了。我很感激我在这个问题上得到的答案。 但这很容易做到,如下所示:
e.SortExpression 返回排好序的列名
e.NewSortOrder 返回排序顺序(asc 或 desc)
【讨论】: