2009-03-10 7 views
0

データベースレベルでページングを処理するストアプロシージャがあり、@PageSizeおよび@PageIndexを受け取っています。ページサイズを指定して、@PageCountを返す別のものを作成することができます。データベースページングのパフォーマンスで<asp:dataGrid> pagerを使用できますか?

コントロールページャを使用して、コントロールの外で開発することなく、データベースレベルでページングを行うことはできますか?

DataGridページングのデフォルトの使用は、すべてのクエリ結果を受け取り、データベース外にページングします。私たちにとっては不都合な過負荷です。

答えて

2

AllowCustomPaging = "true"をaspxに設定します。データバインディング時に行います。

あなたのコメントに基づいて
mygrid.VirtualItemCount = pageCount; 
mygrid.DataSource = mysource; 
mygrid.DataBind(); 

「私はなど、およびオブジェクト(私のエンティティクラス)のリストの中のローディング結果後のADO接続、コマンドを使用し、私はdatagrid.DataSource =リストします。」

+0

このリンクを考慮して、私はこのやり方をしようとしています:http://stackoverflow.com/questions/475982/asp-net-datagrid-and-カスタムページング –

+0

これは同じです:)ページロードのコードに注意してください.Virtualitemcountを見逃すことはできません – eglasius

+0

あなたはAllowCustomPagingも見逃すことはできません - あなたはそれを試したことを意味しますか? /既に試したことがある場合は、もう一度慎重に確認してください。 – eglasius

1

ObjectDataSourceコントロールをGridViewのDataSourceIDとして使用すると、シームレスに動作します。 ObjectDataSourceコントロールには、PageIndexプロパティとMaxRowsプロパティの名前を示すことができる2つのパラメータがあります。

+0

私はADO接続、コマンドなどを使用し、結果をオブジェクトのリスト(私のエンティティクラス)にロードした後、私はdatagrid.DataSource = Listを作成します。 –

+0

この記事を一気にご覧ください。 http://www.codeproject.com/KB/aspnet/PagingWithODS.aspx –

関連する問題