데이터 원본 개체에 바인딩 된 Telerik RadGrid가 있습니다. 사용자 지정 페이징, 정렬을 지원하도록 구성됩니다. 페이징의 경우, 페이지의 데이터 만 데이터베이스에서 검색됩니다. 정렬하기 전에 제대로 작동합니다. 데이터 소스의 선택 방법은 다음과 같습니다.RadGrid가 sortExpression을 ObjectDataSourceControl에 전달할 수 없습니다.
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 버그입니까? 아니면 구성이 잘못 되었습니까?