金宏 和實(かねひろ かずみ)
うまく行かないことがいくつかあって,
気持ちを通じ合わせることが難しい人が何人か居て,
でも,それが常態だと肝に銘じて,
いつかなんとかなるだろうと期待して,
明るく行こうと思うのだ。

 前回は,ASP.NET3.5で追加されたデータ連結コントロールListViewを使ったレコードの更新処理を作成してみました。レイアウトの自由度が高く,また,従来から広く使われているGridView単独では実現できないレコードの追加処理も作成できることを説明しました。

 オールマイティのように思えるデータ連結コントロールListViewですが,無い機能もあります。ListViewコントロールにはGridViewなどと違い,データをページ単位に表示するページジングの機能がありません。ページングを実現するには,ListViewと同時に追加された新コントロールDataPagerを使う必要があります。なぜ,これまでのデータ連結コントロールと違い,ListView自体にはページングの機能がないのでしょうか? 別々にするメリットがあるのでしょうか。

 そういうわけで,今回はDataPagerを使ったListViewのページングについて解説します。その前に第8回で触れることができなかったListViewコントロールの並べ替え機能について少し説明しておきましょう。

ListViewコントロールの並べ替え

 GridViewコントロールで並べ替え機能を有効にするには,画面1のように「並べ替えを有効にする」のチェックボックスにチェックを付けるだけです。簡単に設定できますね。

画面1
画面1

画面2
画面2
[画像のクリックで拡大表示]

 IDや品目名といったヘッダーテキストをクリックすることで並べ替えを実行できます(画面2)。

画面3
画面3
[画像のクリックで拡大表示]

 これに対し,ListViewコントロールには「並べ替えを有効にする」といったチェックボックスが見あたりません(画面3)。かといって,ListViewコントロールに並べ替え機能がないわけではありません。結論から言いますと,ListViewの外枠を定義するLayoutTemplateにボタンを配置して,そのプロパティに並べ替えを指定するのです。