![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ASP.Net にて日々壁が立ち上がっております。
GridView のデータソースであるSQLDataSourceのSQL文を変更し、尚且つページング、ソーティングも行いたいと思うのですが、なかなかうまく行きません。
Dim SQL As String
条件が複雑なので、SQL には自作したSQL文が入っております。
Me.SqlDataSource.SelectCommand = SQL
Me.SqlDataSource.DataBind()
このように記述するとGridViewのデータはSQL文に指定した通りに表示されるのですが、ページング、ソーティングを行うと、元々SqlDataSourceに指定してあるSQL文のモノが適応されて表示画面も元データの適応になってしまいます。
何かのサイトでこういう場合は DataSourceID をどうにかすると、ページング、ソーティングともに指定したSQL文のデータソース上で行われるみたいなことが書かれていたのですが、どう記述してよいかわかりません。
例えば・・・
Me.GridView.DataSourceID = ""
Me.GridView1.DataBind()
Me.GridView1.DataSourceID = Me.SqlDataSource.ID
Me.GridView1.DataBind()
こんな記述をしてみても、ページング、ソーティングはうまく動作しません。
動的なSQL文をGridViewに適応でき、ソーティング、ページングも適応させるにはどうしたらよいでしょうか?
GridView にそういう事が簡単にできれば非常に使い勝手が良いのですが、
初心者的な考えなのかもしれませんが、何卒ご教授いただければと存じます。
よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
SQLDataSourceコントロールてのは、データソースコントロールの中で一番簡単なコントロールなので、凝ったデータアクセスには向いていません。
ページング取得など、全件取得した後でページング部分を抽出するロジックであり、ある程度のデータ量を超えると、トラフィックが巨大になって使えないと思います。
そのあたりも含め、データソースコントロールによるデータ処理については、以下の書籍を参考にされたらと思います。
.NET 2.0時代の書籍なので、最近はもっと進んでますが。。
Microsoft-Visual-Studio-2005によるWebアプリケーション構築技法
赤間信幸 著
http://www.amazon.co.jp/Microsoft-Visual-Studio- …
で、今回望んでおられる、GridView + Paging / Sortingを解決するには、SQLDataSourceではなく、カスタムSQLに対応できるObjectDataSourceが正解だと思います。
また、GridViewのページャについても、自動処理ではなく、正しく部分抽出SQLをハンドリングできる設定が必要です。
このあたりのサンプルを学習してください。
http://www.codeproject.com/Articles/13963/Implem …
http://www.codeproject.com/Articles/42043/Optimi …
http://www.atmarkit.co.jp/fdotnet/bookpreview/vs …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) Access VBAで条件を追加する(書き込む)場所 2 2022/03/23 12:05
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
SqlDataSource SelectCommand の書き方
Microsoft ASP
-
web.configとは?(初心者です)
Microsoft ASP
-
ASP.NetのGridViewで任意の行クリックで選択を行う方法
Microsoft ASP
-
-
4
GridviewとDataGridviewの違い
Microsoft ASP
-
5
DropDownListの初期値の設定(C#)
その他(プログラミング・Web制作)
-
6
VisualStudioのプロパティが表示されない
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
VBAのエラーについて、”実行時...
-
エクセル・VBA CheckBoxのオブ...
-
コントロールを移動できない
-
'ckbl' コントロールは作成され...
-
ExcelVBAでListViewが使用できない
-
コントロールの変数が定義され...
-
VBA_カレンダーコントロールの...
-
TabStripコントロールの上にLab...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
(VBA)スピンボタンの大量...
-
excelのリストボックスで選択し...
-
Groupboxの配下のコントロール...
-
VBAでタブのページを削除す...
-
vb.netで画面のコントロールId...
-
パソコンへの「Dropbox...
-
ユーザーフォームを表示中にシ...
-
ユーザーフォームのテキストボ...
-
worksheetFunctionクラスのVloo...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
C#で角が丸いテキストボックス
-
(VBA)スピンボタンの大量...
-
chr関数の呼び出しで「プロ...
-
変数をコントロール型で使用す...
-
ExcelVBAでListViewが使用できない
-
VBAのエラーについて、”実行時...
-
間違えて配置してしまったコン...
-
VBAのフォームでTextBoxがいっ...
-
Groupboxの配下のコントロール...
-
excelのリストボックスで選択し...
-
ACCESS2010のVBAでフォーム内ク...
-
エクセルVBAでオプションボタン...
-
フォーム上の現在アクティブな...
-
ユーザーフォームで動的(Me.Con...
-
コンボボックスの文字によるif...
-
コントロールを移動できない
おすすめ情報