2012-01-26 8 views
3

プロシージャが5000(5千)行を返し、Asp.net Grid Viewでバインドしたい場合。すべての行を呼び出してグリッドにバインドし、次にグリッドビューでPageindexを呼び出すのは良いアプローチではありません。各Pageindexの変更時にすべてのデータまたはこのアプローチを参照してDBを実行してください。誰も私に良い答えを与えることができます。 pageloadで次にASP.Net GridView 5000 Records

+3

は、サーバーサイドページングを試してみました??:

この記事では、あなたのデータソースでこれを行う方法についての指示を与えます –

+3

レコードの一部のみを返します。ここに完全なチュートリアルがあります:http://msdn.microsoft.com/en-us/library/bb445504.aspx –

+0

ティム私はあなたがアプローチすると良いと思います – codery2k

答えて

-1
Session["dt"] = DataTable; //after you get table from procedure, assign it to session 

、セッションに保存されたデータテーブルに毎回バインドグリッドビュー、あなたは通常、あなたのGridViewのが唯一のプレゼンテーションで

protected void Page_Load(object sender, EventArgs e) 
     { 
      GridView.DataSource = Session["dt"]; 
      GridView.DataBind(); 
     } 
+3

それは価値があるかもしれませんセッションに大きなオブジェクトを格納することはベストプラクティスの1つではないことを指摘しています。 – aleafonso

+0

セッションで大量のデータを保存しようとしたことがありますか? –

+2

結果セットが500Kをとり、100人のユーザーがアプリケーションを使用している場合、この練習だけでサーバー上で50MBのメモリが噛まれているのを見ています。 – Mantorok