お世話になります。
ASP.Net 初心者です。日夜修行をしているのですが、難解な壁に当たっております。
グリッドビューのデータソースに
動的Where句を使用したい質問を以前にいつかさせていただいております。
そこで下記のようなプログラムをお教えいただきました。
テストとしまして、Webフォームには 本題のグリッドビュー、リストボックス、ボタンが配置しております。テストですので、リストボックスを選択後にボタンを押すと、ボタンクリックイベントにて、Where句を
を作成し、下記のメソッドの引数である SQL に入れてメソッドを実行し、グリッドビューのデータを更新したいのですが、ボタンをクリックした際に、どのようにしてグリッドビューのObjectDataSourceの中にあるTableAdapterのメソッドを引き数とともに実行すればよいのか未だにわかりません。
(1)ボタンコントロールを押す、コードでSQL文を作成
(2)下記のTableAdapterのメソッドを(1)で作成した引数とともに実行
(3)グリッドビューのデータが更新される
上記のプロセスをボタンクリックイベントのプログラムでどうやって実現させればよいかがわかりません。
Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
Where 以下のSQL文を作成する
●(ここがわからない)作成したSQL文を引き数にTableAdapterのメソッドを実行
グリッドビューが更新される
End Sub
上記のようにボタンクリックイベントで実行したいのです。
普通はこういうやり方でやらないのでしょうか?
なにぶん初心者なので、今しばらくおつきあいいただき、ご教授していただけますと
大変助かる次第でございます。
何卒よろしくお願いいたします。
-----------------------------------------------------------------------------------
Namespace MstTokDataSetTableAdapters
Partial Public Class t_MstTokTableAdapter
<DataObjectMethod(DataObjectMethodType.Select, False)> _
Public Function GetMstTokDataSet2(ByVal SQL As String) As DataTable
Adapter.SelectCommand = CommandCollection(0)
Adapter.SelectCommand.CommandText += " " + SQL
Dim Dt As DataTable = New MstTokDataSet.t_MstTokDataTable()
Adapter.Fill(Dt)
Return Dt
End Function
End Class
End Namespace
-----------------------------------------------------------------------------------
過去の質問を拝見しましたが、基礎知識をもう少し仕入れるべきです。
でないと何時までも質問しないと前に進めませんよ。
まずは、クラス・インスタンスについて学習しましょう。
クラスメソッドは、
クラス名.メソッド名
で呼び出します。インスタンスメソッドは、
オブジェクトを作って
オブジェクト名.メソッド名
で呼び出します。
今回は敢えて ObjectDataSource には突っ込まずに
GetMstTokDataSet2 を呼び出す事だけを回答してみます。
Dim sql As String = "SELECT ~"
Dim t As New MstTokDataSetTableAdapters.t_MstTokDataSetTableAdapters()
Dim dt As MstTokDataSet.t_MstTokDataTable = t.GetMstTokDataSet2(sql)
質問者
補足
edp3142さん 大変お世話になります。
クラス、インスタンスについての勉強しっかりとやろうと思います。
ご指摘ありがとうございます。
Dim TN As New MstTokDataSetTableAdapters.t_MstTokTableAdapter()
Dim dt As MstTokDataSet.t_MstTokDataTable = TN.GetMstTokDataSet2(SQL)
これで GetMstTokDataSet2 が呼び出されることしっかり勉強させていただきました。この事を忘れずに精進したいと思っております。
ですが、グリッドビューのソースは変わりません。
グリッドビューのソースはこれだけではデータが反映されないのですね。
ここからObjectDataSourceを操作しデータを反映させる感じになるのでしょうか?
差支えがなければ、この記述の後にどう書けばグリッドビューが更新されるのか、お教えいただけますと大変助かるのですが・・・
何卒よろしくお願い申し上げます。
お礼
shockatz様、大変お世話になっております。 最新の質問までいろいろとご指導ありがとうございます。 ObjectDataSource とDBの接続方法、動的SQL文の設定、 そのほか、いろいろな接続、変更などの方法の仕方が未熟ゆえ わからない次第でございます。 まだグリッドビューの動的SQLの変更方法など、まだわたくしには早かったかなと質問の回答を見させていただき思って次第でございます。 まずは ご紹介いただいた、赤間本を読破、熟読し、グリッドビュー、リストビューの選定など、改めてご質問させて下さいませ。 その際には初心者にもわかるご回答お待ち申し上げております。 ありがとうございました。