KendoUI が追加する拡張メソッド (ToDataSourceResult) は、Pages > Page #1 で失敗するようです。ページが初めて読み込まれたときは正常に動作しますが、仮想スクロールで使用してページをフェッチしようとすると、2,3,4 ... N 非同期に、メソッドは IEnumerable オブジェクトのすべてのデータを無視します変換するには。
私のコードは次のとおりです。
次のようなデータを取得する MVC コントローラーがあります。
Database database = Database.GenerateDatabase();
ResultSet queryResults = database.GetEvents(
FilterHelper.GenerateQueryCriteria((List<IFilterDescriptor>) request.Filters, request.Page, request.PageSize)
);
Database.GetEvents は次のようなオブジェクトを返します。
public class ResultSet {
public List<ResultSetRow> Set;
public int PageRowCount;
public int TotalRecordCount;
}
各 ResultSetRow は、プロパティとして 1 つの文字列と 2 つの int を持つクラスのインスタンスです。
この時点で、ブレーク ポイントを設定し、ResultSet.Set の内容を調べます。データベースは、request.PageSize で指定した数のレコードを List に適切に入力しています。すべてのページ番号に対して結果が返されていることを確認しました。
次の段階では、すべてがうまくいきません。
DataSourceResult result = ((IEnumerable<ResultSetRow>) queryResults.Set).ToDataSourceResult(request);
DataSourceResult オブジェクトの内容を調べたところ、その配列プロパティ 'Data' が空です。
モデル (ResultSetRow) が Kendo の DataSourceResult オブジェクトに変換できないのはなぜですか?
いくつかの追加情報:
- 集計、グループ、並べ替え、およびフィルターは使用されていません。
- Database.GetEvents によって返される結果の数は、要求されたページのサイズと一致します。
ご協力ありがとうございます SO コミュニティ