• [总结] XPO (eXpress Persistent Objects) 学习总结一


    小弟水平不高,有什么地方不妥或不对的地方请指正,谢谢!

    1.绑定一般的DropDownList
          
            M_ReferringAgentAndGP是一个对应数据库表的实体类,
            M0201是要显示的文本,M0200要显示的文本对应的值域

            Dim Agent As XPCollection = New XPCollection(GetType(M_ReferringAgentAndGP))
            ddlF1609.DataSource = Agent
            ddlF1609.DataTextField = "M0201"
            ddlF1609.DataValueField = "M0200"
            ddlF1609.DataBind()


    2.绑定有组合字段的DropDownList

            M_StaffDetails类中有M0000,M0002,M0003字段域,分别对应主鍵,FirstName,LastName
            Dim sName As XPCollection = New XPCollection(GetType(M_StaffDetails))
            ddlF1617.DataSource = sName
            ddlF1617.DataTextField = "FullName"
            ddlF1617.DataValueField = "M0000"
            ddlF1617.DataBind()

    在M_StaffDetails类中加入如下属性:
    <Persistent()> _
        Public ReadOnly Property FullName() As String
            Get
                Return String.Format("{0} {1}", M0002, M0003)
            End Get
        End Property

    在生成数据库时会把FullName当作一个字段创建出来


    3.通过主鍵获得唯一一条记录

       F_DomesticViolence是对应数据库中的一个表的类,ID是这个表的主


            Dim bizObject As New F_DomesticViolence
            Dim newSession As New DevExpress.Xpo.Session
            newSession.ConnectionString = DevExpress.Xpo.Session.DefaultSession.ConnectionString
            bizObject = newSession.GetObjectByKey(GetType(F_DomesticViolence), CStr(ID))


    4.新增和保存一条记录


    加重显示的地方是关键,开始没这样写,导致每次操作都是新增数据,后来想到由于是持久性对象,所以
    只要不释放,它一直都存在,如果每次都 Dim bizObject As New ... ,那么每点保存按钮时,重新建立一个对象

    所以导致每次
    都是新增数据,要想保存必须找到以前的持久性对象,所以用了如下方法!

     Dim bizObject As New F_DomesticViolence
            If Request.QueryString("mode") = "edit" Then
                bizObject = New XPCollection(GetType(F_DomesticViolence), New BinaryOperator("F1600", editID, BinaryOperatorType.Equal)).Object(0)
            End If

            With bizObject

                .F1601 = chkF1601.Checked
                .F1602 = chkF1602.Checked
                .F1603 = chkF1603.Checked
                .F1604 = chkF1604.Checked
                .F1605 = ddlF1605.SelectedValue
                .F1606 = chkF1606.Checked
                .F1607 = chkF1607.Checked
                .F1608 = chkF1608.Checked
                .F1609 = ddlF1609.SelectedValue
                .F1610 = txtF1610.Text
                .F1611 = txtF1611.Text

                .F1613 = chkF1613.Checked
                .F1614 = chkF1614.Checked
                .F1615 = chkF1615.Checked
                .F1616 = txtF1616.Text
                .F1617 = ddlF1617.SelectedValue
                .F1618 = saveDateNull(txtF1618)
                .F1619 = txtF1619.Text


                'If Request.QueryString("mode") = "edit" Then
                '.F1600 = 9
                'End If

                .Save()
            End With


    5.多条件查询,返回对象集合!
            
           加重显示的语句可以增加多个条件

           Dim cond As New GroupOperator
            Dim oper1 As New BinaryOperator(New OperandProperty("F1400"), New OperandValue(2), BinaryOperatorType.Greater)
            Dim oper2 As New BinaryOperator(New OperandProperty("F1401"), New OperandValue(1), BinaryOperatorType.Equal)
            cond = New GroupOperator(GroupOperatorType.And, oper1, oper2)
            Dim Collection1 As New XPCollection(GetType(F_ExitInterview), cond)
            DataGrid1.DataSource = Collection1
            DataGrid1.DataBind()



    并且想请教一个问题,如何用XPO生成视图!请高手赐教!

  • 相关阅读:
    【JavaScript知识点一】JavaScript 数据类型
    grunt操作之Gruntfile.js
    js重定向后跳转到当前页面锚点
    Java-变量和方法
    Java-运算符
    Java-类型转化
    Java-数组
    Java-循环结构(for,while)
    Java-选择结构(if-else)
    Java-数据类型(引用类型)
  • 原文地址:https://www.cnblogs.com/goody9807/p/263661.html
Copyright © 2020-2023  润新知