Web版:DataGrid テーブルレコード表示
DataAdapterオブジェクトのFillメソッドの引数にDataSetとテーブル名を指定し、レコード列データを取得して、ドロップダウンリストに表示します。
MDB版 サンプルプログラム
コントロール | プロパティ | 設定値 |
---|---|---|
DdlBumonMei | AutoPostBack | True |
LblBumonCode | BorderStyle | Ridge |
LblMessage | BorderStyle | Groove |
MessageBox.Showを使えないので、ラベルにエラーメッセージを表示します。
コンボボックスに表示する列名(フィールド名)をドロップダウンリストのDataTextFieldプロパティに設定し、選択した項目のコードを取得できるように、DataValueFieldプロパティにコード列名を設定します。
ソースリストの枠内をクリックすると全選択できます。
Imports System.Data.OleDb Public Class WebForm1 Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents DdlBumonMei _ As System.Web.UI.WebControls.DropDownList Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents LblBumonCode As System.Web.UI.WebControls.Label Protected WithEvents LblMessage As System.Web.UI.WebControls.Label #Region " Web フォーム デザイナで生成されたコード " ' 自動生成部分省略 #End Region '--------------------------------------------------------- ' フォームロード:部門名をドロッップダウンリストに表示 '--------------------------------------------------------- Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then Dim con As New OleDbConnection() Dim cmd As New OleDbCommand() Dim da As New OleDbDataAdapter() Dim ds As DataSet = New DataSet() Try ' 仮想アプリケーションルートパスを取得 Dim vPath As String = Request.ApplicationPath ' 仮想アプリケーションルートパスの物理パスを取得 Dim path As String = Server.MapPath(vPath) ' DB接続文字列の設定 ' プロジェクトフォルダにsample.mdbを置く con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ path & "\sample.mdb" ' コネクションの設定 cmd.Connection = con ' SQL文の設定 cmd.CommandText = "SELECT 部門コード, 部門名 " cmd.CommandText &= "FROM 部門テーブル " cmd.CommandText &= "ORDER BY 部門コード" ' 部門テーブルから全レコードデータを取得する da.SelectCommand = cmd ds.Clear() da.Fill(ds, "部門テーブル") Me.DdlBumonMei.DataSource = ds.Tables("部門テーブル") ' コンボボックスに部門名を表示する Me.DdlBumonMei.DataTextField = "部門名" ' 部門名に対応した部門コードを取得する Me.DdlBumonMei.DataValueField = "部門コード" ' データをバインドする Me.DdlBumonMei.DataBind() ' 取得した部門コードをテキストボックスに設定する Me.LblBumonCode.Text = _ Me.DdlBumonMei.SelectedItem.Value Catch ex As Exception ' 例外が発生した時の処理 LblMessage.Text = ex.ToString End Try End If End Sub '------------------------------------------------------ ' 現在選択中の部門名と異なる部門名を選択した時の処理 '------------------------------------------------------ Private Sub DdlBumonMei_SelectedIndexChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles DdlBumonMei.SelectedIndexChanged ' 新たに選択した部門コードをテキストボックスに設定 Me.LblBumonCode.Text = Me.DdlBumonMei.SelectedItem.Value End Sub End Class
- MDB 版:テーブル列をコンボボックスに表示する
- VB 2008 SQL Server版:テーブル列をComboBoxに表示
- VB 2008 MDB版:テーブル列をComboBoxに表示する