DataGridを使用してカスタムページングを実装したいのですが、このリンクで行ったようにGridViewに移動しないでください。作業中のプロジェクトはすでにDataGridを使用して構築されているため、GridViewカスタムページングの適切なソリューションです。
また、インターネットで検索しましたが、ObjectDataSourceを使用せずにカスタムページングを見つけることができませんでした。ObjectDataSourceの使用は、会議やビデオチュートリアルで見ることができる簡単なデモと私の心の中で関連付けられています(通常、「本番環境ではこのようにしないでください」と言われます)。
また、私のデータは、CTEクエリを使用してストアドプロシージャから出力されます。
SELECT * FROM (SELECT RowID = ROW_NUMBER() OVER ([Name] ORDER BY ASC),
[ID],[Name],[Status] FROM [UserMaster]) as [UserMaster]
WHERE ((RowID BETWEEN @StartIndex AND @StartIndex-@PageSize-1) OR @StartIndex = -1 OR @PageSize = -1)
このクエリは、それがどのように機能するかを示すための部分的な実装です。このクエリでは、@ StartIndexと@PageSizeが渡されない場合、すべてのレコードが返され、クエリをテストして、期待どおりに機能しています。クエリは、ASP.NET 3.5を使用したN層Webアプリケーションを参照して構築されていますパート4:並べ替え、ページング、およびフィルタリング
コードでは、古いコードの操作で行っていることは、、、およびで設定されていますがAllowPaging=false
、AllowCustomPaging=true
ページングVirtualItemcount=100
がまったくレンダリングされていないため、これは機能しません。
次に、、を微調整して設定しようとしましたが、AllowPaging=true
これによりページングがレンダリングされますが、pagedItemをクリックしてもコンテンツ領域のDataColumnsは変更されないため、役に立ちません。AllowCustomPaging=true
VirtualItemcount=100
それがすべてよく説明されていることを願っています。
また、私にはあまり役に立たなかったいくつかのリンクを見つけました。それが回答者の部分を改善するのに役立つことを願っています。