DevExpress の XPView でのデータ取得(まとめ)です。
VB.net(サーバ側)からXPO経由でデータ取得する手順です。
現状の画面デザインはこのようになっています。
ボタンを配置してVB.net(サーバ側)で地方名の一覧を取得します。
【事前準備】
・DBのテーブルを用意します。
・「DevExpress ORM Data Model」を用意します。
<テーブル名:SAMPLE.TABLECHIHO>
<テーブル名:SAMPLE.TABLEKEN>
<ORM Data Model:SAMPLE.TABLECHIHO、SAMPLE.TABLEKEN>
<VB.net(サーバ側)で地方名の一覧を取得>
・データ取得のイメージとしては、下記SQLの感じです。
【イメージPG(SQL)】
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT MAX(TK.ID) , TC.CHIHOMEI FROM SAMPLE.TABLECHIHO TC JOIN SAMPLE.TABLEKEN TK ON TC.ID = TK.CHIHO_ID WHERE TK.ID BETWEEN 20 AND 31 GROUP BY TC.CHIHOMEI ORDER BY MAX(TK.ID); |
・画面に「地方名取得」のボタンを用意します。
【生成PG】
1 2 |
<dx:ASPxButton ID="ASPxButton1" runat="server" Text="地方名取得" Theme="RedWine"> </dx:ASPxButton> |
・セッションを生成します。(New DevExpress.Xpo.Session)
・XPO経由でのデータアクセスを生成します。(New DevExpress.Xpo.XPView)
第一引数:セッション
第二引数:取得するデータクラス型
・プロパティを定義します。(AddProperty)
第一引数:別名
第二引数:対象カラム名
第三引数:グループ化するかどうか
第四引数:フェッチするかどうか
第五引数:ソート条件(今回は昇順で指示する)
・取得条件を定義します。(CriteriaString)(「ID」が「20〜31」のデータのみ対象とする)
【生成PG(VB.net)】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
Protected Sub ASPxButton1_Click(sender As Object, e As EventArgs) Handles ASPxButton1.Click Dim mySession As New DevExpress.Xpo.Session '地方名一覧取得 Dim myChihomei As New DevExpress.Xpo.XPView(mySession, GetType(SAMPLE.TABLEKEN)) '取得項目 myChihomei.AddProperty("ID_MAX", "Max(ID)") 'グループ化 myChihomei.AddProperty("CHIHO_ID.CHIHOMEI", "CHIHO_ID.CHIHOMEI", True) 'ソート myChihomei.AddProperty("ID_MAX", "Max(ID)", False, False, DevExpress.Xpo.SortDirection.Ascending) '検索条件 Dim myCriteria As String = String.Empty myCriteria = "[ID] >= 20 And [ID] <= 31" myChihomei.CriteriaString = myCriteria Dim myList As String = String.Empty '対象レコード件数 myList = myList & "対象件数:" myList = myList & myChihomei.Count.ToString For Each myItem As DevExpress.Xpo.ViewRecord In myChihomei '改行追加 myList = myList & "¥n" 'ID最大値追加 myList = myList & myItem("ID_MAX").ToString 'セパレータ追加 myList = myList & ":" '地方名追加 myList = myList & myItem("CHIHO_ID.CHIHOMEI") Next 'メッセージボックス表示 ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Key", "alert('" & myList & "');", True) End Sub |
画面を表示すると「地方名取得」のボタンがあります。
「地方名取得」のボタンをクリックします。
VB.net(サーバ側)からXPO経由でデータ取得することが出来ました。
- 投稿タグ
- XpoDataSource