2009-03-24 22 views
0

asp.netページには、いくつかの数字をリストした5つのグリッドビューがあります。各グリッドビューのヘッダーには、リスト内の数値を要約したいと思います。したがって、リストに数字1,2,3の行が含まれている場合、ヘッダーのタイトルは6になります。グリッドビューの概要

グリッドビュー(SELECT番号、SUM(番号))のクエリでこれを行う方法が見つかりません。 FROM tblは動作していません)。

グリッドビューのデータを取得するために既に5回接続しているので、これらの数値を合計するためにデータベースに再度接続するのは悪い方法です。

これを実行する最適なソリューションは何ですか?

ありがとうございます!

答えて

1

Page Pre_Renderイベントで実行できることは、そのような行をループすることです。 GridView1:

int Total = 0; 
GridView1.HeaderRow.Cells[0].Text = GetTotals(); 
private String GetTotals() 
{ 
Foreach(GridviewRow row in GridView1.Rows) 
{ 
Total += int.Parse(((Label)row.FindControl("RowValue")).Text); 
} 
return Total.ToString(); 
} 

あなたに適しています。

+0

+1これはうまくいきません。 Msは、特にページングを行うときに、グリッドビューの設計にいくつかの制限を設けています。ページングは​​他のソリューション(linq2sqlを使用して同じものを取得するなど)に影響を与え、オブジェクト・データソースをフックするための回避策が必要となるため、これを言います。 – eglasius