Вы находитесь на странице: 1из 4

Option Explicit On Option Strict On ' Espacios de nombres ' ''''''''''''''''''''''''''''''''''''''''' Imports System.Data.

SqlClient Public Class Form1 'BindingSource Private WithEvents bs As New BindingSource ' Adaptador de datos sql Private SqlDataAdapter As SqlDataAdapter ' Cadena de conexin Private Const cs As String = "Data Source=SERVIDOR;" & _ "Initial Catalog=BASE DE DATOS;" & _ "User Id=USUARIO;Password=CLAVE" ' flag Private bEdit As Boolean ' actualizar los cambios al salir ' '''''''''''''''''''''''''''''''''''''''' Private Sub Form1_FormClosing( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) Try If bEdit Then 'preguntar si se desea guardar If (MsgBox( _ "Guardar cambios ?", _ MsgBoxStyle.YesNo, _ "guardar")) = MsgBoxResult.Yes Then Actualizar(False) End If End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub

Private Sub cargar_registros( _ ByVal sql As String, _ ByVal dv As DataGridView) Try ' Inicializar el SqlDataAdapter indicandole el comando y el connecti on string SqlDataAdapter = New SqlDataAdapter(sql, cs) Dim SqlCommandBuilder As New SqlCommandBuilder(SqlDataAdapter)

' llenar el DataTable Dim dt As New DataTable() SqlDataAdapter.Fill(dt) ' Enlazar el BindingSource con el datatable anterior ' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' bs.DataSource = dt With dv .Refresh() ' coloca el registro arriba de todo .FirstDisplayedScrollingRowIndex = bs.Position End With bEdit = False Catch exSql As SqlException MsgBox(exSql.Message.ToString) Catch ex As Exception MsgBox(ex.Message.ToString) End Try End Sub ' botn para guardar los cambios y llenar la grilla Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Update.Click Try Actualizar() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub ' Eliminar el elemento actual del BindingSource y actualizar Private Sub btn_delete_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_delete.Click Try If Not bs.Current Is Nothing Then ' eliminar bs.RemoveCurrent() 'Guardar los cambios y recargar Actualizar() Else MsgBox("No hay un registro actual para eliminar", _ MsgBoxStyle.Exclamation, _ "Eliminar") End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub Actualizar(Optional ByVal bCargar As Boolean = True) ' Actualizar y guardar cambios Try

If Not bs.DataSource Is Nothing Then SqlDataAdapter.Update(CType(bs.DataSource, DataTable)) If bCargar Then cargar_registros("" & TXT_FILTRO.Text & "", DataGridView1) End If End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub btn_first_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btn_first.Click, btn_last.Click, btn_next.Click, btn_Previou s.Click ' Botones para moverse por los registros ' ''''''''''''''''''''''''''''''''''''''''''''' Try If sender Is btn_Previous Then bs.MovePrevious() ElseIf sender Is btn_first Then bs.MoveFirst() ElseIf sender Is btn_next Then bs.MoveNext() ElseIf sender Is btn_last Then bs.MoveLast() End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub DataGridView1_CellEndEdit( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _ Handles DataGridView1.CellEndEdit bEdit = True End Sub ' nuevo registro Private Sub btn_new_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_new.Click Try bs.AddNew() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.Even tArgs) Handles MyBase.Load ' propiedades del datagrid

' ''''''''''''''''''''''''''''''''''''' Try With DataGridView1 ' alternar color de filas .AlternatingRowsDefaultCellStyle.BackColor = Color.FloralWhite .DefaultCellStyle.BackColor = Color.Beige ' Establecer el origen de datos para el DataGridview .DataSource = bs End With ' botones ' ''''''''''''''''''''''''''''''''''''' btn_Update.Text = "Guardar cambios" btn_delete.Text = "Eliminar registro" btn_new.Text = "Nuevo" btn_first.Text = "<<" btn_Previous.Text = "<" btn_next.Text = ">" btn_last.Text = ">>" ' cagar los datos ' cargar_registros("Select * From dbo.inv_Articulos Order by CODIGO ", DataGridView1) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System .EventArgs) Handles Button1.Click Try cargar_registros("" & TXT_FILTRO.Text & "", DataGridView1) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub End Class

Вам также может понравиться