Imports System Imports System.ComponentModel Imports DevExpress.Xpo Imports DevExpress.Data.Filtering Imports DevExpress.ExpressApp Imports DevExpress.Persistent.Base Imports DevExpress.Persistent.BaseImpl Imports DevExpress.Persistent.Validation Imports DevExpress.ExpressApp.ConditionalAppearance Public Enum eEditMode eCentralXML = 0 eUserXML = 1 End Enum _ _ _ _ _ _ _ _ _ _ _ _ Public Class ListViewCustomization Inherits BaseObject Private _eEditMode As eEditMode Private _SQLServer As String Private _SQLDatabase As String Private _SQLUser As String Private _SQLPassword As String Private _SQLType As eSQLType Private _XMLFileName As String Private _User As User Public Sub New(ByVal session As Session) MyBase.New(session) End Sub Public Overrides Sub AfterConstruction() MyBase.AfterConstruction() XMLFileName = "" eEditMode = eEditMode.eCentralXML SQLType = eSQLType.MSSQL End Sub _ Property eEditMode As eEditMode Get Return _eEditMode End Get Set(value As eEditMode) SetPropertyValue("eEditMode", _eEditMode, value) End Set End Property Property SQLServer As String Get Return _SQLServer End Get Set(value As String) SetPropertyValue("SQLServer", _SQLServer, value) End Set End Property Property SQLDatabase As String Get Return _SQLDatabase End Get Set(value As String) SetPropertyValue("SQLDatabase", _SQLDatabase, value) End Set End Property Property SQLUser As String Get Return _SQLUser End Get Set(value As String) SetPropertyValue("SQLUser", _SQLUser, value) End Set End Property Property SQLPassword As String Get Return _SQLPassword End Get Set(value As String) SetPropertyValue("SQLPassword", _SQLPassword, value) End Set End Property Property SQLType As eSQLType Get Return _SQLType End Get Set(value As eSQLType) SetPropertyValue("SQLType", _SQLType, value) End Set End Property Property XMLFileName As String Get Return _XMLFileName End Get Set(value As String) SetPropertyValue("XMLFileName", _XMLFileName, value) End Set End Property Property User As User Get Return _User End Get Set(value As User) SetPropertyValue("User", _User, value) End Set End Property Private ReadOnly Property XMLDatabaseUser As XPCollection(Of User) Get Dim _UserCollection As XPCollection(Of User) = Nothing Dim _Session As New Session Try _Session.ConnectionString = GetConnectionString() _Session.Connect() If _Session.IsConnected Then _UserCollection = New XPCollection(Of User)(_Session) End If Catch ex As Exception Finally If _Session.IsConnected Then _Session.Disconnect() End Try Return _UserCollection End Get End Property Private Function GetConnectionString() Dim _ConnectionString As String = "" Select Case SQLType Case eSQLType.MSSQL _ConnectionString = DevExpress.Xpo.DB.MSSqlConnectionProvider.GetConnectionString(SQLServer, SQLUser, SQLPassword, SQLDatabase) Case eSQLType.MySQL _ConnectionString = DevExpress.Xpo.DB.MySqlConnectionProvider.GetConnectionString(SQLServer, SQLUser, SQLPassword, SQLDatabase) Case eSQLType.PostgreSQL _ConnectionString = DevExpress.Xpo.DB.PostgreSqlConnectionProvider.GetConnectionString(SQLServer, SQLUser, SQLPassword, SQLDatabase) End Select Return _ConnectionString End Function End Class