Professional Documents
Culture Documents
Computacin e Informtica
Unidad Didctica: Programacin Distribuida
Computacin e Informtica
Unidad Didctica: Programacin Distribuida
Function Filtrar_DataGridView(ByVal Columna As String, ByVal texto As String, ByVal BindingSource As BindingSource, ByVal DataGridView As DataGridView, Optional ByVal
Opcion_Filtro As e_FILTER_OPTION = Nothing) As Integer
' verificar que el DataSource no est vacio
If BindingSource1.DataSource Is Nothing Then
Return 0
End If
Try
End Class Private Sub Form2_Load(sender As Object, e As EventArgs) Handles
Dim filtro As String = String.Empty
MyBase.Load
' Seleccionar la opcin
Try
Select Case Opcion_Filtro
' Inicializar la conexin y abrir
Case e_FILTER_OPTION.CADENA_QUE_COMIENCE_CON
Using cn As SqlConnection = New SqlConnection(cs)
filtro = "like '" & texto.Trim & "%'"
cn.Open()
Case e_FILTER_OPTION.CADENA_QUE_NO_COMIENCE_CON
' Inicializar DataAdapter indicando el sql para recuperar
filtro = "Not like '" & texto.Trim & "%'"
'los registros de la tabla
Case e_FILTER_OPTION.CADENA_QUE_NO_CONTENGA
Dim da As New SqlDataAdapter("SELECT * FROM tutorial", cn)
filtro = "Not like '%" & texto.Trim & "%'"
Dim dt As New DataTable ' crear un DataTable
Case e_FILTER_OPTION.CADENA_QUE_CONTENGA
' llenarlo
filtro = "like '%" & texto.Trim & "%'"
da.Fill(dt)
Case e_FILTER_OPTION.CADENA_IGUAL
' enlazar el DataTable al BindingSource
filtro = "='" & texto.Trim & "'"
BindingSource1.DataSource = dt
End Select
' agregar las opciones al combobox
' Opcin para no filtrar
With (ComboBox1)
If Opcion_Filtro = e_FILTER_OPTION.SIN_FILTRO Then
'cargar los items de opciones para filtrar
filtro = String.Empty
.Items.Add("No filtrar")
End If
.Items.Add("Que comience con")
' armar el sql
.Items.Add("Que No comience con")
If filtro <> String.Empty Then
.Items.Add("Que contenga")
filtro = "[" & Columna & "]" & filtro
.Items.Add("Que No contenga")
End If
.Items.Add("Que sea igual")
' asigar el criterio a la propiedad Filter del BindingSource
.DropDownStyle = ComboBoxStyle.DropDownList
BindingSource.Filter = filtro
.SelectedIndex = 1
' enlzar el datagridview al BindingSource
End With
DataGridView.DataSource = BindingSource.DataSource
End Using
' retornar la cantidad de registros encontrados
' errores
Return BindingSource.Count
Catch ex As Exception
' errores
MsgBox(ex.Message.ToString)
Catch ex As Exception
End Try
MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
End Sub
Computacin e Informtica
Unidad Didctica: Programacin Distribuida
End Try
Return 0
End Function
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
Aplicar_Filtro()
End Sub