ASP.NET 3.5から採用されたListViewコントロールにページング機能を付ける場合、DataPagerというコントロールを使う。 これは便利なのだが、一つ困ったことに、データ表示する条件を変えて再表示させると前回のページ位置を保持して先頭ページから表示しないというバグ(?)がある。 具体的に言えば、条件無しで全30件のデータを1ページ10件で表示したとする。 2ページ目に移動した後、条件を変えて検索し結果が13件あったとすると、2ページ目の3件を表示してしまう。先頭から表示するのが普通だと思うがそうならない。 そこで、検索時にDataPagerをリセットさせて先頭ページから表示させようと思うのだが、 これが結構難題だった。プロパティで簡単にできるかと思ったのだが、そのようなプロパティは無く、結局内部でイベントを発生させて先頭に移動させる方法が必要だった。 参考にした海外のサイト:
![ListViewのページングの問題点。ページ位置を初期化(リセット)させるには](https://cdn-ak-scissors.b.st-hatena.com/image/square/126e9c63960837b5815901e11e1f6c1303c17f2b/height=288;version=1;width=512/https%3A%2F%2Fblog.seesaa.jp%2Fimg%2Fogp_logo.png)