Introducción
Estoy desarrollando en VB .NET 2005 una aplicación para una PDA que se comunica a un archivo X.sdf (que es como una BD movil), esta aplicacion es para toma de inventarios.
Problema
Estoy realizando una pantalla para eliminar registros del archivo X.sdf, en la tabla me lista los artículos registrados, y SI me elimina (del archivo) un articulo seleccionado de la tabla. El problema es al querer "Refrescar" la tabla y que ya no me muestre el registro que se eliminó.
Mi codigo que manda llamar el carga datos:
Código:
Mi codigo del carga_Datos():' En el metodo Load Private Sub frmEliminar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load carga_Datos() End Sub
Código:
Private Sub carga_Datos() Dim dsTemporal As DataSet Me.Activate() Me.Enabled = False If Not Me.grdArticulos.DataSource Is Nothing Then MessageBox.Show("No esta vacio") dsTemporal = New DataSet Me.grdArticulos.DataSource = dsTemporal Else MessageBox.Show("Esta vacio") End If Try Dim espere As New frmEspere() Me.Enabled = False espere.Show() espere.Cambia_Mouse(True) espere.Activate() ConexionesDatos.listar_Articulos(Me.grdArticulos) espere.Cambia_Mouse(False) espere.Close() ManejoSonidos.PlaySoundFile("\My documents\encontrado.wav") Me.Enabled = True pintaTabla() Catch ex As Exception MessageBox.Show("No se pudo listar los Articulos. Datos del error: " + ex.Message + " " + ex.StackTrace) frmEspere.Cambia_Mouse(False) ManejoSonidos.PlaySoundFile("\My documents\no_encontrado.wav") Me.Enabled = True End Try End Sub
Mi código que lista los articulos es:
Código:
Mi codigo que elimina:'lista todos los articulos capturados en toma de inventarios Public Sub listar_Articulos(ByVal tabla As System.Windows.Forms.DataGrid) Dim conexionRealizada As Boolean Dim loConexion As New SqlCeConnection Dim loDataSet As New DataSet Dim loDataAdapter As New SqlCeDataAdapter Configura_Conexion() Try loConexion = New SqlCeConnection(ConexionesDatos.regresaConexion()) loDataAdapter = New SqlCeDataAdapter( _ "SELECT DISTINCT t.toma, " + _ "t.articulo, " + _ "t.cantidad, " + _ "a.descripcion " + _ "FROM Tomas_Inventarios t, Articulos a " + _ "WHERE t.articulo = a.articulo " + _ "ORDER BY t.cantidad ASC", _ loConexion) loDataSet.Reset() loDataAdapter.Fill(loDataSet, "Tomas_Inventarios") tabla.DataSource = loDataSet.Tables("Tomas_Inventarios") conexionRealizada = True Catch ex As Exception MessageBox.Show("No hay artículos...") ManejoSonidos.PlaySoundFile("\My documents\no_encontrado.wav") End Try End Sub
Código:
Codigo donde me marca error:Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click elimina_Renglon() End Sub Private Sub elimina_Renglon() Dim datos As New DataSet Dim lcToma, _ lcArticulo, _ lcCantidad As String Dim opcion As Integer lcToma = grdArticulos.Item(grdArticulos.CurrentCell.RowNumber, 0).ToString() lcArticulo = grdArticulos.Item(grdArticulos.CurrentCell.RowNumber, 1) lcCantidad = grdArticulos.Item(grdArticulos.CurrentCell.RowNumber, 2) opcion = MsgBox("¿Está seguro que desea borrar el registro?" + _ vbCrLf + vbCrLf + _ "Artículo " + lcArticulo + vbCrLf + _ "Cantidad " + lcCantidad + vbCrLf + _ "Toma " + lcToma, _ 4 + 32 + 256) If opcion = vbYes Then 'Si es el botón Si elimina_Articulo(lcToma) carga_Datos() End If End Sub
Código:
Private Sub pintaTabla() Dim grdTEstilo As New DataGridTableStyle grdTEstilo.MappingName = "Tomas_Inventarios" ' <---- SEGUN LA EXCEPCION AQUI ESTA EL ERROR Me.grdArticulos.TableStyles.Add(grdTEstilo) grdTEstilo.GridColumnStyles(0).Width = 0 grdTEstilo.GridColumnStyles(1).Width = 60 grdTEstilo.GridColumnStyles(2).Width = 40 grdTEstilo.GridColumnStyles(3).Width = 190 End Sub
Lo único que quiero es después de eliminar, me quite el articulo del DataGrid, no importa que sea fea la solución, (intente ponerle Visible = false pero no encontré la propiedad). Ya que si elimina del archivo, y si se actualiza en la BD del Servidor.
Por favor me urge T______________________T
NOTA: Busque en todo el foro y nada de lo que encontré me sirvió, por eso me atreví a hacer un tema.
Saludos!