- - PR -
DataGridのページ処理中にDBのデータが減ったら...
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-31 18:30
こんにちは
ASP.NETでWebアプリを作っているのですが、ちょっと知恵をお借りしたく。 [説明] ページ処理を有効にしたDataGridでDB上にある100レコードのデータを 10行ずつ表示したとします。 当然、10ページできます。 そこで9ページ目を表示した状態で、DBから20レコード削除されたとします。 次に10ページ目に遷移しようとすると 「CurrentIndexはPageCountより小さくしろ」 と怒られます。 エラーの内容は確かにその通りなのですが、使い勝手はよくないですよね... これを回避する良い方法は無いものでしょうか? やっぱり「CurrentIndex = 0」で一度 DataBind() して PageCount を取得し、 e.NewPageIndex がオーバーしてないかどうか自分で調べるしかないのでしょうか。 そうするとDataBind()が2回走るわけですが...そういうものですかねぇ | ||||
|
投稿日時: 2005-01-31 18:52
このエラーをキャッチした場合、 {MaxPageCountに相当するページ|先頭ページ|表示前の検索ページ} を強制的に表示する。 などの仕様は如何でしょうか。 [ メッセージ編集済み 編集者: 未記入 編集日時 2005-01-31 18:54 ] | ||||
|
投稿日時: 2005-01-31 22:02
まず、DataBindが2回呼ばれることが、なぜいけいないのでしょう?そこからじゃないですか? バインドしなくても、何件あって、1ページに何件表示するかわかっているなら、最大何ページあるか、計算で出せますよね? _________________ | ||||
|
投稿日時: 2005-02-01 11:47
確かに! (^^; DataGridを継承して、ページがオーバーしていたら先頭ページか 正しい最終ページを表示してくれるコントロールを作ってみます。 おバカな疑問に回答ありがとうございました。 m(_ _)m |
1