データソース オブジェクトにバインドされた Telerik RadGrid があります。これらは、カスタム ページング、並べ替えをサポートするように構成されています。ページングの場合、ページのデータのみがデータベースから取得されます。ソート前は正常に動作します。データソースの選択方法は次のようになります
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 のバグですか、それとも私の設定が間違っていますか?