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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
SqlDataSource SelectCommand の書き方
Microsoft ASP
-
ASPからACCESSのOPENどうしても出来ません
Microsoft ASP
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
[ASP.NET]DropDownListのDB連携のやり方。
Microsoft ASP
-
5
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
6
ASP.NetのGridViewで任意の行クリックで選択を行う方法
Microsoft ASP
-
7
GridviewとDataGridviewの違い
Microsoft ASP
-
8
VisualStudioのプロパティが表示されない
Visual Basic(VBA)
-
9
DataGridViewでyyyy/MM/dd
Visual Basic(VBA)
-
10
【緊急】ASPでのExcel出力方法について
その他(開発・運用・管理)
-
11
DropDownListの初期値の設定(C#)
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptからVBAの関数を呼び...
-
カメラスクロールするのを動画...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
エクセル・VBA CheckBoxのオブ...
-
VB.NET開発。ラジオボタンとコ...
-
C# タブのコントロール取得
-
チェックボックスをオンにした...
-
With~EndWithの省略部分と引数...
-
エクセル コントロールツール...
-
vb.netで画面のコントロールId...
-
VBAのフォームでTextBoxがいっ...
-
Access2007 コントロールの削除
-
ACCESS2010のVBAでフォーム内ク...
-
行方不明になるコントロール
-
(VBA)スピンボタンの大量...
-
Labelコントロールの(左右)余...
-
Excelコマンドボタン名を変数に...
-
Validated イベントについて
-
他フォームのコントロールを直...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
(VBA)スピンボタンの大量...
-
エクセルVBAでオプションボタン...
-
C#で角が丸いテキストボックス
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
コンボボックスの文字によるif...
-
VBAのエラーについて、”実行時...
-
変数をコントロール型で使用す...
-
chr関数の呼び出しで「プロ...
-
With~EndWithの省略部分と引数...
-
C#で自分のウインド・ハンド...
-
excelのリストボックスで選択し...
-
'ckbl' コントロールは作成され...
-
フォーム上の現在アクティブな...
おすすめ情報