Files
tsWPF/Obsoleto/ContenedorCabLin.xaml.vb
2026-05-14 08:45:02 +02:00

550 lines
25 KiB
VB.net

Imports System.ComponentModel
Imports DevExpress.Xpf.Core
Imports DevExpress.Xpf.Docking
Imports System.Windows.Media.Animation
Imports DevExpress.Xpf.Core.Native
Imports DevExpress.Xpf.Editors
Imports System.IO
Imports DevExpress.Xpf.Bars
Imports DevExpress.Xpf.Grid
Imports Microsoft.Win32
Imports tsl5.Extensiones
Imports DevExpress.Spreadsheet
Imports System.Data.Entity.ModelConfiguration.Conventions
Public Class ContenedorCabLin
' Public bd As System.Data.Objects.ObjectContext
Public Aplicacion As ApCabLin
Public dp As DocumentPanel
Dim _DescripcionDiseño As String
Dim _TodosUsuariosDiseño As Boolean
' Private VentanaError As VentanaErr
Public Event CargaAplicacion(sender As System.Object, e As System.Windows.RoutedEventArgs)
Public Event AntesDeGuardar(sender As System.Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
Public Event DespuesDeGuardar(sender As System.Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
'Public Shared ReadOnly EventoLanzaMensaje As RoutedEvent = EventManager.RegisterRoutedEvent("LanzaMensaje", RoutingStrategy.Bubble, GetType(RoutedEventHandler), GetType(ContenedorCabLin))
'Public Custom Event LanzaMensaje As RoutedEventHandler
' AddHandler(value As RoutedEventHandler)
' Me.AddHandler(EventoLanzaMensaje, value)
' End AddHandler
' RemoveHandler(value As RoutedEventHandler)
' Me.RemoveHandler(EventoLanzaMensaje, value)
' End RemoveHandler
' RaiseEvent(sender As Object, e As RoutedEventArgs)
' Me.RaiseEvent(e)
' End RaiseEvent
'End Event
Private Sub Cargado(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Me.siMensaje.Content = ""
RaiseEvent CargaAplicacion(sender, e)
If DXSplashScreen.IsActive Then DXSplashScreen.Close()
' Me.Aplicacion.ValidarControles = True
End Sub
Private Sub Guardar(sender As System.Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs) Handles btGuardar.ItemClick
'Dispatcher.BeginInvoke(New Action(Function() ucexpedientes.Estado = EstadosCablin.Nuevo), Windows.Threading.DispatcherPriority.Loaded)
'Dispatcher.BeginInvoke(New Action(Sub() Aplicacion.Guardar(sender, e)), Windows.Threading.DispatcherPriority.ContextIdle)
Dim Guardado As Boolean
Try
btGuardar.IsEnabled = False
Guardado = Not Aplicacion.Guardar(sender, e)
If Me.Aplicacion.Estado = EstadosCablin.AplicacionSinIndice Then btGuardar.IsEnabled = True
Finally
If Guardado Then
Select Case Aplicacion.Estado
Case EstadosCablin.ModificandoRegistro
btGuardar.IsEnabled = Aplicacion.PermisosConcedidos.Modificar
Case EstadosCablin.Nuevo
btGuardar.IsEnabled = Aplicacion.PermisosConcedidos.Nuevos
End Select
Else
btGuardar.IsEnabled = True
End If
End Try
End Sub
Public Sub New()
' Llamada necesaria para el diseñador.
InitializeComponent()
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
End Sub
'Public Sub New(Contenido As ApCabLin, TablaBase As String, Registros As ListCollectionView, Busqueda As DevExpress.Xpf.LayoutControl.LayoutGroup, GridBusqueda As DevExpress.Xpf.Grid.GridControl)
' If Not (System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me)) Then
' ' Llamada necesaria para el diseñador.
' InitializeComponent()
' Aplicacion = Contenido
' ' Aplicacion.Contexto = Contexto
' Contenido.ContenedorCL = Me
' Contenido.Registros = Registros
' ' Contenido.ObjetoEntidad = ModeloEntidad
' Contenido.NombreTablaBase = TablaBase
' Contenido.Busqueda = Busqueda
' Contenido.GridBusqueda = GridBusqueda
' Me.contenido.Children.Add(Contenido)
' AddHandler Me.PreviewKeyDown, AddressOf Aplicacion.ApCabLin_PreviewKeyDown
' End If
' '' Agregue cualquier inicialización después de la llamada a InitializeComponent().
'End Sub
'Public Sub New(Contenido As ApCabLin)
' If Not (System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me)) Then
' ' Llamada necesaria para el diseñador.
' InitializeComponent()
' Aplicacion = Contenido
' Contenido.ContenedorCL = Me
' Me.contenido.Children.Add(Contenido.Aplicacion)
' AddHandler Me.PreviewKeyDown, AddressOf Aplicacion.ApCabLin_PreviewKeyDown
' End If
'End Sub
Private sbDesvanecer As Storyboard = Nothing
Public Sub New(Aplicacion As ApCabLin, uc As UserControl, dp As DocumentPanel)
If Not (System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me)) Then
' Llamada necesaria para el diseñador.
InitializeComponent()
Me.contenido.Children.Add(uc)
Me.Aplicacion = Aplicacion
Me.dp = dp
Aplicacion.ContenedorCL = Me
Dim da As New DoubleAnimation
With da
.From = 1
.To = 0
.Duration = New Duration(TimeSpan.FromSeconds(2))
.AutoReverse = False
End With
Storyboard.SetTargetProperty(da, New PropertyPath(OpacityProperty))
sbDesvanecer = New Storyboard
sbDesvanecer.Children.Add(da)
End If
End Sub
' Private Sub mv_CurrentChanged(sender As Object, e As System.EventArgs) Handles mv.CurrentChanged
' cabecera = Me.mv.CurrentEditItem
'End Sub
Private Sub Nuevo(sender As System.Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs) Handles btNuevo.ItemClick
Me.Aplicacion.ValidarControles = False
Me.Aplicacion.DocPanel.Tag = Me.Aplicacion.GetType.Name & "." & Me.Aplicacion.Titulo & ".NUEVO"
Aplicacion.Estado = EstadosCablin.Nuevo
Me.Aplicacion.ValidarControles = True
'Busqueda.Visibility = Windows.Visibility.Collapsed
'Busqueda.Visibility = Windows.Visibility.Hidden
'btBuscar.IsChecked = False
'Cabecera.AddNew()
End Sub
Private Sub btEliminar_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs) Handles btEliminar.ItemClick
Aplicacion.Eliminar(sender, e)
End Sub
Friend Sub IniciaAnimacion(Mensaje As String, Color As Color)
Try
Me.siMensaje.Content = Mensaje
Dim tbm As TextBlock = LayoutHelper.FindElementByName(Me.BarraBotones, "tbMensaje")
tbm.Foreground = New SolidColorBrush(Color)
Storyboard.SetTarget(sbDesvanecer, tbm)
BeginStoryboard(sbDesvanecer)
Catch ex As Exception
Debug.Write(ex.Message)
End Try
End Sub
Private Sub btImprimirPlantilla_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
Dim oa = Me.Aplicacion.ObjetoActual
Dim be As BaseEdit = Nothing
Try
be = LayoutHelper.FindParentObject(Of BaseEdit)(oa)
Catch ex As Exception
End Try
If Not be Is Nothing Then
Select Case be.GetType
Case GetType(TextEdit), GetType(PasswordBoxEdit), GetType(ButtonEdit), GetType(DateEdit), GetType(ComboBoxEdit), GetType(DevExpress.Xpf.Grid.LookUp.LookUpEdit)
Dim expression = be.GetBindingExpression(BaseEdit.EditValueProperty)
If Configuracion.ComportamientoValidacion = Validation.InvalidValueBehavior.AllowLeaveEditor Then
be.DoValidate()
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
Else
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
be.DoValidate()
End If
Case GetType(CheckEdit)
End Select
End If
'Dim be As BaseEdit = LayoutHelper.FindParentObject(Of BaseEdit)(Keyboard.FocusedElement)
'If Not be Is Nothing Then
' Select Case be.GetType
' Case GetType(TextEdit), GetType(PasswordBoxEdit), GetType(ButtonEdit), GetType(DateEdit), GetType(ComboBoxEdit), GetType(DevExpress.Xpf.Grid.LookUp.LookUpEdit)
' Dim expression = be.GetBindingExpression(BaseEdit.EditValueProperty)
' If Not expression Is Nothing Then expression.UpdateSource()
' be.DoValidate()
' Case GetType(CheckEdit)
' End Select
'End If
Dim idPlantilla As Integer = bePlantilla.EditValue
Me.Aplicacion.LanzaImprimirPlantilla(sender, e, idPlantilla)
End Sub
' Private Function FindVisualChild(Of childItem As DependencyObject)(ByVal obj As DependencyObject) As childItem
' For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(obj) - 1
' Dim child As DependencyObject = VisualTreeHelper.GetChild(obj, i)
' If child IsNot Nothing AndAlso TypeOf child Is childItem Then
' Return CType(child, childItem)
' Else
' Dim childOfChild As childItem = FindVisualChild(Of childItem)(child)
' If childOfChild IsNot Nothing Then
' Return childOfChild
' End If
' End If
' Next i
' Return Nothing
' End Function
' Private Sub htIniciaAnimacion(Mensaje As String, Color As Color)
Private Sub btAcciones_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
Dim oa = Me.Aplicacion.ObjetoActual
Dim be As BaseEdit = Nothing
Try
be = LayoutHelper.FindParentObject(Of BaseEdit)(oa)
Catch ex As Exception
End Try
If Not be Is Nothing Then
Select Case be.GetType
Case GetType(TextEdit), GetType(PasswordBoxEdit), GetType(ButtonEdit), GetType(DateEdit), GetType(ComboBoxEdit), GetType(DevExpress.Xpf.Grid.LookUp.LookUpEdit)
Dim expression = be.GetBindingExpression(BaseEdit.EditValueProperty)
If Configuracion.ComportamientoValidacion = Validation.InvalidValueBehavior.AllowLeaveEditor Then
be.DoValidate()
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
Else
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
be.DoValidate()
End If
Case GetType(CheckEdit)
End Select
End If
'Dim be As BaseEdit = LayoutHelper.FindParentObject(Of BaseEdit)(Keyboard.FocusedElement)
'If Not be Is Nothing Then
' Select Case be.GetType
' Case GetType(TextEdit), GetType(PasswordBoxEdit), GetType(ButtonEdit), GetType(DateEdit), GetType(ComboBoxEdit), GetType(DevExpress.Xpf.Grid.LookUp.LookUpEdit)
' Dim expression = be.GetBindingExpression(BaseEdit.EditValueProperty)
' If Not expression Is Nothing Then expression.UpdateSource()
' be.DoValidate()
' Case GetType(CheckEdit)
' End Select
'End If
Dim idAccion As Integer = beAcciones.EditValue
Me.Aplicacion.LanzaEjecutaAccion(sender, e, idAccion)
End Sub
Private Sub btActualizar_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
Me.Aplicacion.RefrescaUC(True)
End Sub
Private Sub beAcciones_EditValueChanged(sender As Object, e As RoutedEventArgs)
Dim idAccion As Integer = beAcciones.EditValue
Dim acs As List(Of Accion) = Me.cbAcciones.ItemsSource
Dim ac As Accion = (From a In acs Where a.idAccion = idAccion).First
Me.btAcciones.Hint = ac.Descripcion
End Sub
Private Sub bePlantilla_EditValueChanged(sender As Object, e As RoutedEventArgs)
Dim idPlantilla As Integer = bePlantilla.EditValue
Dim plantillas As List(Of tsWPF.Plantilla) = Me.cbPlantillaAImprimir.ItemsSource
Dim pl As Plantilla = (From p In plantillas Where p.idPlantilla = idPlantilla).First
Me.btImprimirPlantilla.Hint = "Imprimir " & pl.Descripcion
End Sub
Private Sub ContenedorCabLin_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
Try
If Aplicacion IsNot Nothing Then
If Aplicacion.bdEntidad.Connection.State <> System.Data.ConnectionState.Closed Then Aplicacion.bdEntidad.Connection.Close()
End If
Catch ex As Exception
End Try
End Sub
Private Sub btAyuda_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
Me.Aplicacion.DelegadoAyuda.Invoke(Me.Aplicacion.uc.GetType.ToString)
End Sub
Private Sub btDiseño_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
Try
Dim drs = ObtieneDiseñoActual()
Me.Aplicacion.DelegadoDiseño.Invoke(Me.Aplicacion.bdEntidad, OperacionDiseñoEnum.GUARDAR, Me.Aplicacion.uc.GetType.ToString, _DescripcionDiseño, _TodosUsuariosDiseño, drs)
Catch ex As Exception
If Me.Aplicacion.DelegadoErrorNoControlado IsNot Nothing Then Me.Aplicacion.DelegadoErrorNoControlado.Invoke(Me.Aplicacion, ex)
End Try
End Sub
Friend Function ObtieneDiseñoActual() As Byte()
Dim ld As New DiseñoRejillas
Dim i As Integer
For Each l In Aplicacion.Lineas
i += 1
If l.Name = "" Then l.Name = "tsRejilla-" & i.ToString
Dim dr As New DiseñoRejilla
dr.Nombre = l.Name
dr.Version = "1"
Dim ms As New MemoryStream
l.SaveLayoutToStream(ms)
dr.Diseño = ms.ToArray
ld.Rejillas.Add(dr)
Next
Dim drs = System.Text.Encoding.Unicode.GetBytes(tsl5.Utilidades.Serializar(ld))
Return drs
End Function
Private Sub btRestaurarDiseño_ItemClick(sender As Object, e As DevExpress.Xpf.Bars.ItemClickEventArgs)
If Aplicacion.DiseñoOriginal IsNot Nothing Then
Try
Dim ld As New DiseñoRejillas
ld = tsl5.Utilidades.deserializar(System.Text.Encoding.Unicode.GetString(Aplicacion.DiseñoOriginal), ld.GetType)
Dim i As Integer
For Each l In Aplicacion.Lineas
i += 1
If l.Name = "" Then l.Name = "tsRejilla-" & i.ToString
Try
If ld.Rejillas.Any(Function(x) x.Nombre = l.Name) Then
Dim dr As DiseñoRejilla = ld.Rejillas.Where(Function(x) x.Nombre = l.Name).First
l.RestoreLayoutFromStream(New System.IO.MemoryStream(dr.Diseño))
End If
Catch ex As Exception
If Me.Aplicacion.DelegadoErrorNoControlado IsNot Nothing Then Me.Aplicacion.DelegadoErrorNoControlado.Invoke(Me.Aplicacion, ex)
' Debug.Write("Error DelegadoDiseño Rejilla")
End Try
Next
Dim drs = System.Text.Encoding.Unicode.GetBytes(tsl5.Utilidades.Serializar(ld))
Me.Aplicacion.DelegadoDiseño.Invoke(Me.Aplicacion.bdEntidad, OperacionDiseñoEnum.RESTAURAR_ORIGINAL, Me.Aplicacion.uc.GetType.ToString, _DescripcionDiseño, _TodosUsuariosDiseño, drs)
Catch ex As Exception
If Me.Aplicacion.DelegadoErrorNoControlado IsNot Nothing Then Me.Aplicacion.DelegadoErrorNoControlado.Invoke(Me.Aplicacion, ex)
End Try
End If
End Sub
Private Sub btGuardarDiseñoComo_ItemClick(sender As Object, e As ItemClickEventArgs)
Try
Dim drs = ObtieneDiseñoActual()
Me.Aplicacion.DelegadoDiseño.Invoke(Me.Aplicacion.bdEntidad, OperacionDiseñoEnum.GUARDAR_COMO, Me.Aplicacion.uc.GetType.ToString, _DescripcionDiseño, _TodosUsuariosDiseño, drs)
Catch ex As Exception
If Me.Aplicacion.DelegadoErrorNoControlado IsNot Nothing Then Me.Aplicacion.DelegadoErrorNoControlado.Invoke(Me.Aplicacion, ex)
DXMessageBox.Show(ex.Message, "Error btDiseñoComo_Itemclick")
End Try
End Sub
Private Sub btAbrirDiseñoGuardado_ItemClick(sender As Object, e As ItemClickEventArgs)
Dim b = Me.Aplicacion.DelegadoDiseño.Invoke(Me.Aplicacion.bdEntidad, OperacionDiseñoEnum.ABRIR_DISEÑO_GUARDADO, Me.Aplicacion.uc.GetType.ToString, _DescripcionDiseño, _TodosUsuariosDiseño, Nothing)
If b IsNot Nothing Then
Dim ld As New DiseñoRejillas
ld = tsl5.Utilidades.deserializar(System.Text.Encoding.Unicode.GetString(b), ld.GetType)
Dim i As Integer
Dim lg As List(Of tsGridControl) = Nothing
tsWPF.ObtieneHijosDeTipo(Of tsGridControl)(Me, lg)
For Each l In lg
i += 1
If l.Name = "" Then l.Name = "tsRejilla-" & i.ToString
Try
If ld.Rejillas.Any(Function(x) x.Nombre = l.Name) Then
Dim dr As DiseñoRejilla = ld.Rejillas.Where(Function(x) x.Nombre = l.Name).First
l.RestoreLayoutFromStream(New System.IO.MemoryStream(dr.Diseño))
End If
Catch ex As Exception
If Me.Aplicacion.DelegadoErrorNoControlado IsNot Nothing Then Me.Aplicacion.DelegadoErrorNoControlado.Invoke(Me.Aplicacion, ex)
DXMessageBox.Show(ex.Message, "Error btDiseñoGuardado_Itemclick")
End Try
Next
End If
End Sub
Private Sub BtCapturar_ItemClick(sender As Object, e As ItemClickEventArgs)
Dim sficherojpg = tsl5.Utilidades.ObtieneFicheroAleatorio("jpg")
IO.File.WriteAllBytes(sficherojpg, Me.Aplicacion.uc.ObtieneImagen(1, 100))
Process.Start(sficherojpg)
End Sub
Private Sub BtExportar_ItemClick(sender As Object, e As ItemClickEventArgs)
Dim sfd As New SaveFileDialog
sfd.FileName = "Exportacion.xlsx"
sfd.Filter = "Fichero Excel (*.xls, *.xlsx|*.xls;*.xlsx"
sfd.DefaultExt = ".xlsx"
Dim ms As New List(Of Stream)
Dim formato As DevExpress.Spreadsheet.DocumentFormat
If sfd.ShowDialog Then
Dim i As Integer = 0
Dim ngc As New tsGridControl
For Each oc In Me.Aplicacion.ControlesTS
Try
Dim gc As New tsGridColumn()
gc.FieldName = oc.PropiedadesTS.NombreCampo
gc.Header = oc.Label.ToString.TrimEnd(":")
gc.Width = oc.Width
ngc.Columns.Add(gc)
Catch
End Try
Next
ngc.ItemsSource = Me.Aplicacion.DataContext
Dim ls = New MemoryStream
ngc.View.ExportToXlsx(ls)
ms.Add(ls)
For Each l In Me.Aplicacion.Lineas
Try
ls = New MemoryStream
ms.Add(ls)
Dim vista As TableView = l.View
Select Case IO.Path.GetExtension(sfd.FileName).ToLower
Case ".xls"
vista.ExportToXls(ls)
formato = DevExpress.Spreadsheet.DocumentFormat.Xls
Case ".xlsx"
vista.ExportToXlsx(ls)
formato = DevExpress.Spreadsheet.DocumentFormat.Xlsx
End Select
i += 1
Catch
End Try
Next
Dim wb As New Workbook
For i = 0 To ms.Count - 1
Try
Dim wbc As New Workbook
ms(i).Position = 0
wbc.LoadDocument(ms(i), formato)
wb.Worksheets(i).CopyFrom(wbc.Worksheets(0))
If i = 0 Then
wb.Worksheets(i).Name = Me.Aplicacion.Titulo
Else
If wb.Worksheets.Any(Function(x) x.Name = Me.Aplicacion.Lineas(i - 1).NombreTablaBase) Then
wb.Worksheets(i).Name = (i - 1).ToString
Else
wb.Worksheets(i).Name = Me.Aplicacion.Lineas(i - 1).NombreTablaBase
End If
End If
If i < ms.Count - 1 Then wb.Worksheets.Add()
Catch
End Try
Next
Dim nc As Integer = 0
For Each c In Me.Aplicacion.ControlesTS
Try
Select Case c.Content.GetType
Case GetType(CheckEdit)
Dim Ce As CheckEdit = c.Content
wb.Worksheets(0).Cells(1, nc).SetValue(If(Ce.IsChecked, "SI", "NO"))
Case GetType(ButtonEdit)
Dim te As ButtonEdit = c.Content
wb.Worksheets(0).Cells(1, nc).SetValue(te.EditValue)
Case GetType(TextEdit)
Dim te As TextEdit = c.Content
wb.Worksheets(0).Cells(1, nc).SetValue(te.EditValue)
Case GetType(DateEdit)
Dim de As DateEdit = c.Content
wb.Worksheets(0).Cells(1, nc).SetValue(de.EditValue)
Case GetType(ComboBoxEdit)
Dim cbe As ComboBoxEdit = c.Content
wb.Worksheets(0).Cells(1, nc).SetValue(cbe.DisplayText)
Case GetType(DevExpress.Xpf.Grid.LookUp.LookUpEdit)
Dim le As DevExpress.Xpf.Grid.LookUp.LookUpEdit = c.Content
wb.Worksheets(0).Cells(1, nc).SetValue(le.EditValue)
End Select
nc += 1
Catch
End Try
Next
wb.SaveDocument(sfd.FileName, formato)
Process.Start(sfd.FileName)
End If
End Sub
Private Sub bePlantilla_GotFocus(sender As Object, e As RoutedEventArgs) Handles bePlantilla.GotFocus
Dim oa = Me.Aplicacion.ObjetoActual
Dim be As BaseEdit = Nothing
Try
be = LayoutHelper.FindParentObject(Of BaseEdit)(oa)
Catch ex As Exception
End Try
If Not be Is Nothing Then
Select Case be.GetType
Case GetType(TextEdit), GetType(PasswordBoxEdit), GetType(ButtonEdit), GetType(DateEdit), GetType(ComboBoxEdit), GetType(DevExpress.Xpf.Grid.LookUp.LookUpEdit)
Dim expression = be.GetBindingExpression(BaseEdit.EditValueProperty)
If Configuracion.ComportamientoValidacion = Validation.InvalidValueBehavior.AllowLeaveEditor Then
be.DoValidate()
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
Else
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
be.DoValidate()
End If
Case GetType(CheckEdit)
End Select
End If
End Sub
Private Sub beAcciones_GotFocus(sender As Object, e As RoutedEventArgs) Handles beAcciones.GotFocus
Dim oa = Me.Aplicacion.ObjetoActual
Dim be As BaseEdit = Nothing
Try
be = LayoutHelper.FindParentObject(Of BaseEdit)(oa)
Catch ex As Exception
End Try
If Not be Is Nothing Then
Select Case be.GetType
Case GetType(TextEdit), GetType(PasswordBoxEdit), GetType(ButtonEdit), GetType(DateEdit), GetType(ComboBoxEdit), GetType(DevExpress.Xpf.Grid.LookUp.LookUpEdit)
Dim expression = be.GetBindingExpression(BaseEdit.EditValueProperty)
If Configuracion.ComportamientoValidacion = Validation.InvalidValueBehavior.AllowLeaveEditor Then
be.DoValidate()
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
Else
If Not expression Is Nothing AndAlso expression.IsDirty Then expression.UpdateSource()
be.DoValidate()
End If
Case GetType(CheckEdit)
End Select
End If
End Sub
End Class
<Serializable>
Public Class DiseñoRejillas
Property Rejillas As New List(Of DiseñoRejilla)
Property Version As String
End Class
<Serializable>
Public Class DiseñoRejilla
Public Diseño() As Byte
Public Version As String
Public Nombre As String
End Class