我有一个绑定到数据源对象的 Telerik RadGrid。它们被配置为支持自定义分页、排序。对于分页,仅从数据库中检索页面的数据。在排序之前,它工作正常。数据源的select方法就像
public List<xxx> Select(string sortExpression, int maximumRows, int startRowIndex)
{}
在排序之前 sortExpression 是空的,这是预期的。但是在使用点击排序后,在Radgrid的OnSortCommand事件处理函数中,SortExpression是正确的,说明RadGrid已经正确地获取了用户的排序。
protected void OnSort(object source, GridSortCommandEventArgs e)
{
Console.WriteLine(e.SortExpression); // correct
}
但奇怪的是,这次 RadGrid 没有正确地将参数传递给 DataSource。sortExpression 仍为空,maximumRows 变为 int.Max,startRowIndex 为 0。排序仍然正确呈现,但网格要求数据源获取所有数据并在本地进行排序。
这是 RadGrid 的错误还是我的配置错误?