そこで全レコード数を取得する必要があるが、そのためだけにデータベースにアクセスするのは避けたい。そこで調べたところ便利な機能があった。
GridViewではSqlDataSourceをバインドしてデータを取得するが、このデータソースのSelectイベントのなかで表示される全レコード数が取得できる。
Dim recCount as Long
Protected Sub SqlDataSource1_Selected(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs)
recCount = e.AffectedRows
End Sub
e.AffectedRows をヘルプで調べると「データベース操作の影響を受けた行の数を取得」とある。
あとは、GridViewのDataBoundイベントのなかで取得した値を表示する処理を追加するだけである。

