6
INSTITUTO DE EDUCACIÓN SUPERIOR PÚBLICO Computación e Informática “DAVID SÁNCHEZ INFANTE” Unidad Didáctica: Programación Concurrente  Prof. Roni Aguilar Huaccha 1 San Pedro de Lloc    U  P EO R  E    A N   E D  RD E   MANTENIMIENTO Y FILTRADO DE REGISTROS ESCRIBIR EL SIGUIENTE CÓDIGO FUENTE: Imports System.Data.SqlClient Public Class Form1 Enum e_FILTER_OPTION  SIN_FILTRO = 0 CADENA_QUE_COMIENCE_C ON = 1 CADENA_QUE_NO_COMIENC E_CON = 2 CADENA_QUE_CONTENGA = 3 CADENA_QUE_NO_CONTENGA = 4 CADENA_IGUAL = 5 End Enum Private cn As SqlConnection  Private ds As DataSet Private da As SqlDataAdapter  Private dr As DataRow Private dt As DataTable Private estado As String Private pa, tot, col, fil As Integer  Private comando As SqlCommandBuilder  ' Private srt As String Private BindingSource1 As Windows.Forms.BindingSource  = New BindingSource Private Sub Aplicar_Filtro() ' filtrar por el campo nombre Dim ret As Integer  = Filtrar_grdClientes("Nombres", TextBox1.Text.Trim, BindingSource1, grdClientes, CType(ComboBox1.SelectedIndex, e_FILTER_OPTION)) If  ret = 0 Then ' si no hay registros cambiar el color del txtbox TextBox1.BackColor = Color .Red Else TextBox1.BackColor = Color .White End If  ' visualizar la cantidad de registros Me.Text = ret & " Registros encontrados" End Sub

Mantenimiento y Filtrado de Registros

Embed Size (px)

Citation preview

7/23/2019 Mantenimiento y Filtrado de Registros

http://slidepdf.com/reader/full/mantenimiento-y-filtrado-de-registros 1/6

INSTITUTO DE EDUCACIÓN SUPERIOR PÚBLICO Computación e Informática“DAVID SÁNCHEZ INFANTE”  Unidad Didáctica: Programación Concurrente 

Prof. Roni Aguilar Huaccha 1 San Pedro de Lloc

              I     N     S      T

                I     T    U    T   O

 

   S  U  P E

 RIO R  P  E  

D  A   G   

Ó    G    

I                 C     O    

S   A N 

  P E D  R  O

D E   LL O C

 MANTENIMIENTO Y FILTRADO DE REGISTROS 

ESCRIBIR EL SIGUIENTE CÓDIGO FUENTE:

Imports System.Data.SqlClient

Public Class Form1

Enum e_FILTER_OPTION SIN_FILTRO = 0CADENA_QUE_COMIENCE_CON = 1CADENA_QUE_NO_COMIENCE_CON = 2CADENA_QUE_CONTENGA = 3CADENA_QUE_NO_CONTENGA = 4CADENA_IGUAL = 5

End Enum

Private cn As SqlConnection Private ds As DataSet Private da As SqlDataAdapter  

Private dr As DataRow Private dt As DataTable Private estado As String Private pa, tot, col, fil As Integer  Private comando As SqlCommandBuilder  ' Private srt As String Private BindingSource1 As Windows.Forms.BindingSource = New BindingSource

Private Sub Aplicar_Filtro()' filtrar por el campo nombreDim ret As Integer  = Filtrar_grdClientes("Nombres", TextBox1.Text.Trim, BindingSource1, grdClientes, CType(ComboBox1.SelectedIndex, e_FILTER_OPTION))If  ret = 0 Then 

' si no hay registros cambiar el color del txtboxTextBox1.BackColor = Color .Red

Else TextBox1.BackColor = Color .White

End If  ' visualizar la cantidad de registrosMe.Text = ret & " Registros encontrados" 

End Sub

7/23/2019 Mantenimiento y Filtrado de Registros

http://slidepdf.com/reader/full/mantenimiento-y-filtrado-de-registros 2/6

INSTITUTO DE EDUCACIÓN SUPERIOR PÚBLICO Computación e Informática“DAVID SÁNCHEZ INFANTE”  Unidad Didáctica: Programación Concurrente 

Prof. Roni Aguilar Huaccha 2 San Pedro de Lloc

              I     N     S      T

                I     T    U    T   O

 

   S  U  P E

 RIO R  P  E  

D  A   G   

Ó    G    

I                 C     O    

S   A N 

  P E D  R  O

D E   LL O C

Function Filtrar_grdClientes(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é vacioIf  BindingSource1.DataSource Is Nothing Then 

Return 0End If  Try 

Dim filtro As String = String.Empty' Seleccionar la opciónSelect Case Opcion_Filtro

Case e_FILTER_OPTION.CADENA_QUE_COMIENCE_CONfiltro = "like '" & texto.Trim & "%'" 

Case e_FILTER_OPTION.CADENA_QUE_NO_COMIENCE_CONfiltro = "Not like '" & texto.Trim & "%'" 

Case e_FILTER_OPTION.CADENA_QUE_NO_CONTENGAfiltro = "Not like '%" & texto.Trim & "%'" 

Case e_FILTER_OPTION.CADENA_QUE_CONTENGAfiltro = "like '%" & texto.Trim & "%'" 

Case e_FILTER_OPTION.CADENA_IGUALfiltro = "='" & texto.Trim & "'" 

End Select ' Opción para no filtrarIf  Opcion_Filtro = e_FILTER_OPTION.SIN_FILTRO Then 

filtro = String.EmptyEnd If  ' armar el sqlIf  filtro <> String.Empty Then 

filtro = "[" & Columna & "]" & filtroEnd If  ' asigar el criterio a la propiedad Filter del BindingSourceBindingSource.Filter = filtro' enlzar el datagridview al BindingSourceDataGridView.DataSource = BindingSource.DataSource

' retornar la cantidad de registros encontradosReturn BindingSource.Count' errores

Catch ex As Exception MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)

End Try Return 0

End Function

7/23/2019 Mantenimiento y Filtrado de Registros

http://slidepdf.com/reader/full/mantenimiento-y-filtrado-de-registros 3/6

INSTITUTO DE EDUCACIÓN SUPERIOR PÚBLICO Computación e Informática“DAVID SÁNCHEZ INFANTE”  Unidad Didáctica: Programación Concurrente 

Prof. Roni Aguilar Huaccha 3 San Pedro de Lloc

              I     N     S      T

                I     T    U    T   O

 

   S  U  P E

 RIO R  P  E  

D  A   G   

Ó    G    

I                 C     O    

S   A N 

  P E D  R  O

D E   LL O C

  Private Const cs As String = "Data Source=CENCACI\DSI;" & "Integrated Security=True;" & "Initial Catalog=BD_Prueba" 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadcn = New SqlConnection cn.ConnectionString = "Data Source=CENCACI\DSI;Initial Catalog=BD_Prueba;Integrated Security=True" da = New SqlDataAdapter ("SELECT * FROM Clientes", cn)comando = New SqlCommandBuilder (da)

ds = New DataSet()cn.Open()da.Fill(ds, "Clientes")cn.Close()' asignar el dataset al DataGridView grdClientes.DataSource = dsgrdClientes.DataMember = "Clientes" VerDatos()

Try ' Inicializar la conexión y abrirUsing cn As SqlConnection = New SqlConnection(cs)

cn.Open()

' Inicializar DataAdapter indicando el sql para recuperar'los registros de la tablaDim da As New SqlDataAdapter ("SELECT * FROM Clientes", cn)Dim dt As New DataTable ' crear un DataTable' llenarloda.Fill(dt)' enlazar el DataTable al BindingSourceBindingSource1.DataSource = dt' agregar las opciones al comboboxWith (ComboBox1)

'cargar los items de opciones para filtrar.Items.Add("No filtrar").Items.Add("Que comience con")

.Items.Add("Que No comience con").Items.Add("Que contenga")

.Items.Add("Que No contenga")

.Items.Add("Que sea igual")

.DropDownStyle = ComboBoxStyle.DropDownList

.SelectedIndex = 1End With 

End Using 

7/23/2019 Mantenimiento y Filtrado de Registros

http://slidepdf.com/reader/full/mantenimiento-y-filtrado-de-registros 4/6

INSTITUTO DE EDUCACIÓN SUPERIOR PÚBLICO Computación e Informática“DAVID SÁNCHEZ INFANTE”  Unidad Didáctica: Programación Concurrente 

Prof. Roni Aguilar Huaccha 4 San Pedro de Lloc

              I     N     S      T

                I     T    U    T   O

 

   S  U  P E

 RIO R  P  E  

D  A   G   

Ó    G    

I                 C     O    

S   A N 

  P E D  R  O

D E   LL O C

  ' erroresCatch ex As Exception 

MsgBox(ex.Message.ToString)End Try 

End Sub

Private Sub VerDatos()' Capturar total de celdas tot = Me.grdClientes.GetCellCount(DataGridViewElementStates.Selected)dr = Me.ds.Tables("Clientes").Rows(Me.pa)If  tot > 0 Then 

'Capturar datos fil = Me.grdClientes.SelectedCells(pa).RowIndex.ToString'Capturar columna seleccionada col = Me.grdClientes.SelectedCells(pa).ColumnIndex.ToString'mostrar celda seleccionada Me.TxtId_Cliente.Text = Me.grdClientes.Item(col, fil).ValueMe.TxtNombres.Text = Me.grdClientes.Item(col + 1, fil).ValueMe.TxtApellidos.Text = Me.grdClientes.Item(col + 2, fil).Value

Me.TxtDNI.Text = Me.grdClientes.Item(col + 3, fil).ValueEnd If  End Sub

Private Sub grdClientes_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdClientes.CellContentClick

VerDatos()grdClientes.PerformLayout()

End Sub

Private Sub BtnNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNuevo.ClickLimpiaDatos()Me.TxtId_Cliente.Text = "" 

'sumar nuevo Id_Cliente TxtId_Cliente.Text = "C00" & Me.grdClientes.RowCountEnd Sub Private Sub LimpiaDatos()

Me.TxtNombres.Text = "" Me.TxtApellidos.Text = "" Me.TxtDNI.Text = "" Me.TxtNombres.Focus()

7/23/2019 Mantenimiento y Filtrado de Registros

http://slidepdf.com/reader/full/mantenimiento-y-filtrado-de-registros 5/6

INSTITUTO DE EDUCACIÓN SUPERIOR PÚBLICO Computación e Informática“DAVID SÁNCHEZ INFANTE”  Unidad Didáctica: Programación Concurrente 

Prof. Roni Aguilar Huaccha 5 San Pedro de Lloc

              I     N     S      T

                I     T    U    T   O

 

   S  U  P E

 RIO R  P  E  

D  A   G   

Ó    G    

I                 C     O    

S   A N 

  P E D  R  O

D E   LL O C

  End Sub 

Private Sub BtnGrabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGrabar.ClickIf  estado = "Actualizar" Then 

If  MsgBox("¿deseas modificar el registro?", MsgBoxStyle.YesNo, "Aviso") = MsgBoxResult.Yes Then dr = Me.ds.Tables("Clientes").Rows(Me.fil)dr("Codigo") = Me.TxtId_Cliente.Text

dr("Nombres") = Me.TxtNombres.Textdr("Apellidos") = Me.TxtApellidos.Textdr("DNI") = Me.TxtDNI.Textestado = "" 

End If  Else 

If  MsgBox("Deseas grabar el registro?", MsgBoxStyle.YesNo, "Aviso") = MsgBoxResult.Yes Then dr = Me.ds.Tables("Clientes").NewRow()dr("Codigo") = Me.TxtId_Cliente.Textdr("Nombres") = Me.TxtNombres.Textdr("Apellidos") = Me.TxtApellidos.Textdr("DNI") = Me.TxtDNI.TextMe.ds.Tables("Clientes").Rows.Add(dr)

End If  End If  da.Update(ds, "Clientes")

End Sub 

Private Sub BtnModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnModificar.Clickestado = "Actualizar" Me.TxtNombres.Focus()

End Sub 

Private Sub BtnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEliminar.Click

dr = Me.ds.Tables("Clientes").Rows(Me.fil)dr.Delete()dt = Me.ds.Tables("Clientes").GetChanges(DataRowState.Deleted)Me.da.Update(dt)Me.ds.Tables("Clientes").AcceptChanges()VerDatos()

End Sub

7/23/2019 Mantenimiento y Filtrado de Registros

http://slidepdf.com/reader/full/mantenimiento-y-filtrado-de-registros 6/6

INSTITUTO DE EDUCACIÓN SUPERIOR PÚBLICO Computación e Informática“DAVID SÁNCHEZ INFANTE”  Unidad Didáctica: Programación Concurrente 

Prof. Roni Aguilar Huaccha 6 San Pedro de Lloc

              I     N     S      T

                I     T    U    T   O

 

   S  U  P E

 RIO R  P  E  

D  A   G   

Ó    G    

I                 C     O    

S   A N 

  P E D  R  O

D E   LL O C

 Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSalir.Click

Me.Close()End Sub

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

 Aplicar_Filtro()End Sub End Class