- PR -

GridViewのページング機能使用を使用したデータの検索について

1
投稿者投稿内容
美緒子
会議室デビュー日: 2006/02/06
投稿数: 3
投稿日時: 2006-02-08 18:46
はじめまして。
.NET(C#)でwebアプリケーションの開発を始めて間もないのですが、
SqlDataSourceを使用し、GridViewをページングにて表示しているのですが
表示しているページ内に表示されていないデータを検索し、
表示していないページの該当データを表示する方法はあるのでしょうか?

50レコード/1ページ

(表示ページ 1)
    1 2 3 ...←ページ番号

キー
1,  BBB,  CCC
2,  BBB,  CCC
3,  BBB,  CCC
 ・
 ・
 ・
50,  BBB,  CCC

データの検索(キー = 60)


(表示ページ 2)
    1 2 3 ...←ページ番号
 ・
 ・
 ・
59,  BBB,  CCC
60,  BBB,  CCC
61,  BBB,  CCC


拙い説明ですが宜しくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-02-08 21:05
データの検索(キー = 60)
をそのまま SQL の WHERE句 に指定しないで
その前後のデータ n件 を持ってくるように作ればできるような気がします

#でも検索遅そう・・・
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-02-12 10:18
1ページに表示する件数を保持する変数を用意する。
データ取得時に、データの並びをつける。→ ORDER BY 句で順序づけをし、Oracle だと RowNum とか。
表示

検索キーを入力すると、DataSet ないで検索する。→ DataTable.Select
ここで RowNum を参照する。→1ページに表示する件数と RowNum から、ページ番号がわかる。


ってことで、どう?

〆 written by Jitta on 2006/02/12
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-02-13 06:41
DataSourceコントロールのフィルタ機能を利用してDataSetを絞り込んだらどうでしょうか。


サンプルを作成しましたので詳細はソースコードをご覧ください。
http://aspspider.net/AkioKasai/Goto.aspx?id=060213-1

参考までに、このサンプルはデータ処理を高速化させるためにDataSetをキャッシングさせています。
_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
1

スキルアップ/キャリアアップ(JOB@IT)