93 lines
3.9 KiB
VB.net
93 lines
3.9 KiB
VB.net
|
|
|
|
Public Class dxwInicioAplicacion
|
|
Public Respuesta As RespuestaInicioAplicacion
|
|
Public ExpresionBusqueda As String
|
|
Private _CamposBusquedaAlfabeticos() As String
|
|
Private _CamposBusquedaAlfabeticosPorIgualdad() As String
|
|
Private _CamposBusquedaNumericos() As String
|
|
Public Sub New(Titulo As String, TituloCamposBusqueda As String, CamposBusquedaAlfabeticos() As String, CamposBusquedaAlfabeticosPorIgualdad() As String, CamposBusquedaNumericos() As String, TextoABuscar As String, PermitirNuevos As Boolean, PermitirBusquedaAvanzada As Boolean, Optional TextoNuevos As String = "", Optional TextoOtrasOpciones As String = "")
|
|
|
|
' Esta llamada es exigida por el diseñador.
|
|
|
|
InitializeComponent()
|
|
Me.Title = Titulo
|
|
_CamposBusquedaAlfabeticos = CamposBusquedaAlfabeticos
|
|
_CamposBusquedaAlfabeticosPorIgualdad = CamposBusquedaAlfabeticosPorIgualdad
|
|
_CamposBusquedaNumericos = CamposBusquedaNumericos
|
|
tbCamposBusqueda.Text = TituloCamposBusqueda
|
|
teBusqueda.Text = TextoABuscar
|
|
If Not PermitirBusquedaAvanzada Then tbBusquedaAvanzada.Visibility = Visibility.Collapsed
|
|
If Not PermitirNuevos Then tbNuevo.Visibility = Visibility.Collapsed
|
|
If Not PermitirBusquedaAvanzada And Not PermitirNuevos Then lgOtrasOpciones.Visibility = Visibility.Collapsed
|
|
If TextoNuevos <> "" Then tbNuevo.Text = TextoNuevos
|
|
If TextoOtrasOpciones <> "" Then
|
|
tbOtrasOpciones.Text = TextoOtrasOpciones
|
|
tbcOtrasOpciones.Visibility = Visibility.Visible
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub HlBusquedaAvanzada_Click(sender As Object, e As RoutedEventArgs)
|
|
DialogResult = True
|
|
Respuesta = RespuestaInicioAplicacion.BUSQUEDA_AVANZADA
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub HlNuevoRegistro_Click(sender As Object, e As RoutedEventArgs)
|
|
DialogResult = True
|
|
Respuesta = RespuestaInicioAplicacion.NUEVO_REGISTRO
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub BtBuscar_Click(sender As Object, e As RoutedEventArgs)
|
|
If Me.teBusqueda.Text.Trim <> "" Then
|
|
ExpresionBusqueda = Utilidades.Varias.GeneraExpresionBusqueda(Me.teBusqueda.Text.Trim, Me._CamposBusquedaNumericos, Me._CamposBusquedaAlfabeticos, Me._CamposBusquedaAlfabeticosPorIgualdad)
|
|
Respuesta = RespuestaInicioAplicacion.BUSQUEDA_RAPIDA
|
|
|
|
Me.DialogResult = True
|
|
Me.Close()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CommandBinding_Executed(sender As Object, e As ExecutedRoutedEventArgs)
|
|
Me.DialogResult = False
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub dxwInicioAplicacion_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
|
Me.teBusqueda.Focus()
|
|
End Sub
|
|
|
|
Private Sub HlOtrasOpciones_Click(sender As Object, e As RoutedEventArgs)
|
|
DialogResult = True
|
|
Respuesta = RespuestaInicioAplicacion.OTRAS_OPCIONES
|
|
Me.Close()
|
|
End Sub
|
|
'Public Shared Function GeneraExpresionBusqueda(TextoAbuscar As String, CamposBusquedaNumericos() As String, CamposBusquedaAlfabeticos() As String) As String
|
|
' Dim Expresion As String = ""
|
|
' Dim Palabras = TextoAbuscar.Trim.Split(" ")
|
|
' For Each palabra In Palabras
|
|
' Dim Numero = palabra.Replace(",", ".")
|
|
' If CamposBusquedaNumericos.Count > 0 AndAlso Double.TryParse(Numero, Nothing) Then
|
|
' For Each c In CamposBusquedaNumericos
|
|
' Expresion &= " OrElse " & c & "=" & Numero
|
|
' Next
|
|
' End If
|
|
' For Each c In CamposBusquedaAlfabeticos
|
|
' Expresion &= " OrElse " & c & ".Contains(" & Chr(34) & palabra & Chr(34) & ")"
|
|
' Next
|
|
' Next
|
|
' Return Expresion.Substring(4)
|
|
'End Function
|
|
|
|
|
|
End Class
|
|
Public Enum RespuestaInicioAplicacion
|
|
BUSQUEDA_AVANZADA
|
|
BUSQUEDA_RAPIDA
|
|
NUEVO_REGISTRO
|
|
OTRAS_OPCIONES
|
|
End Enum
|