Upload
roni-aguilar-huaccha
View
220
Download
0
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