DevExpress でのコンボボックスのDB読み込みサンプル作成(ASPxComboBox)手順サンプルです。
今回は、「XPO」でDBアクセスしますのでサンプル作成までの手順は5点です。
・プロジェクト作成(DevExpress v19.2 Template Gallery)
・データ構造作成(ORMDataModel)
・コンボボックス生成(ASPxComboBox)
・XPO作成(XpoDataSource)
・セッション設定
<DB読み込みサンプル作成(ASPxComboBox)>
・プロジェクト作成(DevExpress v19.2 Template Gallery)を行います。
・左側のメニューから「Empty Web Application」を選択します。
※デフォルト選択
・左側のメニューから「Empty」を選択し、「Create Project」ボタンをクリックします。
※デフォルト選択
↓
【注意】
「XPO」仕様の場合は、必ず「DevExpress v19.2 Template Gallery」を使用して下さい。
「ASP.NET 空の Web アプリケーション」等の標準で作成すると
「Global.asax」が作成されなくて、セッション管理でのデータアクセスが出来なくなります。
・データ構造作成(ORMDataModel)するためにプロジェクトのコンテキストメニューの「追加」→「新しい項目」を選択します。
↓
・左側のツリーで「Visual Basic」の「DevExpress」を選択します。
・「DevExpress ORM Data Model Wizard」を選択し「追加」ボタンをクリックします。
・「Map to an existing database」を選択し「次へ」ボタンをクリックします。
【DB一覧】
「Map to an existing database」:既存のDBから作成
「Create a new database」:新規DBを作成
「Do not connect to a database」:DB接続なし
・使用するDB情報を入力し「次へ」ボタンをクリックします。
※画像はオラクル(Oracle)DBの情報を入力
↓
・使用するテーブルを選択し「次へ」ボタンをクリックします。
テーブル:TABLECHIHO、TABLEKEN
・クラスとプロパティーの設定を行い「完了」ボタンをクリックします。
※今回は追加、削除のクラス、プロパティが無いためデフォルト選択
↓
・一度ビルドを行います。
↓
※フォルダ:「ORMDataModel1Code」が自動生成
※ファイル:「ConnectionHelper.vb」、「TABLECHIHO.vb」、「TABLEKEN.vb」が自動生成
【注意】
ビルドして上記ファイルを作成しておかないと画面作成時の選択で候補に出てきません。
・プロジェクトのコンテキストメニューの「追加」→「新しい項目」を選択します。
↓
・左側のツリーで「Visual Basic」の「Web」を選択します。
・「Web フォーム」を選択し「追加」ボタンをクリックします。
↓
・コンボボックス生成(ASPxComboBox)するために、ツールボックスの「DX.19.2: Common Controls」から「ASPxComboBox」をドラッグして指示します。
※「DX.19.2」はDevExpressのバージョンです。
・ツールボックスから「DX.19.2:ORM Components」から「XpoDataSource」をドラッグして指示します。
※「DX.19.2」はDevExpressのバージョンです。
・「XpoDataSource」を選択して右側のプロパティの「TypeName」に「Sample_24.ORACLEDB.TABLEKEN」を設定します。
【注意】
事前にビルドしておかないと画面作成時の選択で候補に出てきません。
・「ASPxComboBox」を選択して右側のプロパティの「DataSourceID」に「XpoDataSource1」を設定します。
・「ASPxComboBox」のコンテキストメニューから「Designer」を選択します。
↓
・カラム制御アイコンから「追加(Add)」をクリックします。
・プロパティの「FieldName」に「KENMEI_KANN」を設定します。
※「KENMEI_KANN」は使用するテーブルのカラム名です。
・プロパティの「Caption」に「都道府県名」を設定します。
【サンプルプログラム】
1 2 3 4 5 6 7 8 9 10 11 |
<form id="form1" runat="server"> <div> <dx:ASPxComboBox ID="ASPxComboBox1" runat="server" DataSourceID="XpoDataSource1"> <Columns> <dx:ListBoxColumn Caption="都道府県名" FieldName="KENMEI_KANN"> </dx:ListBoxColumn> </Columns> </dx:ASPxComboBox> <dx:XpoDataSource ID="XpoDataSource1" runat="server" TypeName="Sample_24.ORACLEDB.TABLEKEN"></dx:XpoDataSource> </div> </form> |
・セッション設定を行います。
・「Global.asax.vb」のソースを開きます。
・「Application_Start」メソッドで「DataLayer」の接続と「Session」の初期化を行います。
【サンプルプログラム(VB.net)】
1 2 3 4 5 |
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) AddHandler DevExpress.Web.ASPxWebControl.CallbackError, AddressOf Application_Error DevExpress.Xpo.XpoDefault.DataLayer = SAMPLE.ConnectionHelper.GetDataLayer(DevExpress.Xpo.DB.AutoCreateOption.SchemaAlreadyExists) DevExpress.Xpo.XpoDefault.Session = Nothing End Sub |
・「WebForm1.aspx.vb」のソースを開きます。
・「Init」メソッドで「Session」を設定します。
【サンプルプログラム(VB.net)】
1 2 3 |
Private Sub WebForm1_Init(sender As Object, e As System.EventArgs) Handles Me.Init XpoDataSource1.Session = New DevExpress.Xpo.Session End Sub |
それでは、実行して動作確認を行います。
無事にコンボボックス(ASPxComboBox)の表示が出来ました。