DevExpress の XPCollection でのデータ取得(上位N件対象)です。
VB.net(サーバ側)からXPO経由でデータ取得する手順です。
現状の画面デザインはこのようになっています。
ボタンを配置してVB.net(サーバ側)で地方名、県名(上位N件対象)の一覧を取得します。
【事前準備】
- DBのテーブルを用意します。
- 「DevExpress ORM Data Model」を用意します。
「DevExpress ORM Data Model」作成手順は、過去ブログの「DevExpress の XPO のサンプル作成手順」を参照して下さい。
<テーブル名:SAMPLE.TABLECHIHO>
<テーブル名:SAMPLE.TABLEKEN>
<ORM Data Model:SAMPLE.TABLECHIHO、SAMPLE.TABLEKEN>
<VB.net(サーバ側)で県名の一覧を取得(上位N件対象)>
・画面に「県名取得」のボタンを用意します。
【生成PG】
1 2 |
<dx:ASPxButton ID="ASPxButton1" runat="server" Text="県名取得" Theme="RedWine"> </dx:ASPxButton> |
- セッションを生成します。(New DevExpress.Xpo.Session)
- XPO経由でのデータアクセスを生成します。(New DevExpress.Xpo.XPCollection)
第一引数:セッション
第二引数:取得するデータクラス型 - 取得検索条件を定義します。(「ID」が「24〜30」のデータのみ対象とする)
- ソート条件を定義します。(SortProperty)
第一引数:対象カラム名
第二引数:ソート条件(今回は降順で指示する) - 対象件数を定義します。(TopReturnedObjects)
(今回は上位5件対象で指示する) - リレーション先データを参照します。
「myList = myList & myItem.CHIHO_ID.CHIHOMEI」(リレーション先は「.」で指示する)
【生成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 myKenmei As New DevExpress.Xpo.XPCollection(mySession, GetType(SAMPLE.TABLEKEN)) '検索条件 Dim myCriteria As String = String.Empty myCriteria = "[ID] >= 24 And [ID] <= 30" myKenmei.CriteriaString = myCriteria 'ソート条件 Dim mySortProperty As New DevExpress.Xpo.SortProperty("ID", DevExpress.Xpo.DB.SortingDirection.Descending) myKenmei.Sorting.Add(mySortProperty) '上位5件対象 myKenmei.TopReturnedObjects = 5 Dim myList As String = String.Empty For Each myItem As SAMPLE.TABLEKEN In myKenmei 'ID追加 myList = myList & myItem.ID.ToString 'セパレータ追加 myList = myList & ":" '地方名追加 myList = myList & myItem.CHIHO_ID.CHIHOMEI 'セパレータ追加 myList = myList & ":" '県名追加 myList = myList & myItem.KENMEI_KANN '改行追加 myList = myList & "¥n" Next 'メッセージボックス表示 ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Key", "alert('" & myList & "');", True) End Sub |
画面を表示すると「県名取得」のボタンがあります。
「県名取得」のボタンをクリックします。
↓
地方名、県名の一覧が5件表示されましたので、
VB.net(サーバ側)からXPO経由でデータ取得(上位N件対象)することが出来ました。
- 投稿タグ
- XpoDataSource