![]() |
Ayuda con un Refresh del DataGrid Hola. Saben ya le he buscado por muchos lados y no he suelto mi problema, Tengo un datagrid con datos, cuando selecciono una grilla en particular los datos se colocan en unas cajas de texto, ok si decido borrar ese registro en el evento click d mi boton eliminar cargo una vex mas mi grid, pero carga doble vex es decir como lo vuelvo a enlazar a mi consulta para que se elimine el registro del grid se carga nuevamente pero con los datos anteriores. Si tenia 2 registros y elimino uno se cargan 3 la tabla anterior y la nueva hice lo siguiente de las tantas cosas que ya ehe probado DataGrid1.DataSource = Nothing DataGrid1.DataSource = Tabla DataGrid1.Show Tambien asi: DataGrid1.Refresh y tampoco :pensando: |
Estas segura que tu page load no lo estas cargando la primera vez..?? estas usando el IsPostBack ?? :pensando: porque no veo otra cosa que pueda ser.. checalo bien.. salu2 |
Hola Rootk, en este caso estoy trabajando con windows Forms en visual basic. net, se a lo q te refieres pero eso es en web forms. :pensando: :pensando: :pensando: |
Sería mejor que muestres la forma como estás trabajando (el código) la parte que mencionas, probablemente necesites hacer un DataSet1.Clear() antes de cargar los datos nuevamente. Saludos |
Ok . Va. Tratare de ser lo mas clara posible. En el Load de la pagina tengo esto. //Creo una nueva tabla 2 Dim Tabla As New DataTable Dim row As DataRow Dim col As DataColumn Dim Renglon As DataRow Dim i As Integer 'Llenar tabla nueva col = New DataColumn col.ColumnName = "Clave" Tabla2.Columns.Add(col) col = New DataColumn col.ColumnName = "Nombre" Tabla2.Columns.Add(col) col = New DataColumn col.ColumnName = "Estado" Tabla2.Columns.Add(col) col = New DataColumn col.ColumnName = "Tipo" Tabla2.Columns.Add(col) DataGrid1.DataSource = gTabla() DataGrid1.Show() Ok la funcion gTabla tiene esto: Tengo una Tabla1 donde sus datos se los paso a la Tabla2. Tabla1 = oUsuarios.Consultar // Trae una consulta de la base For i = 0 To Tabla.Rows.Count - 1 //Codigo donde paso mis datos de la tabla1 a la tabla2 Next Return Tabla2 End Function Hasta aqui se daran cuenta que lo que quiero mostrar en mi DataGrid1 es la Tabla2. Ok cargo mi DataGrid con Tabla2 Perfecto hasta ningun problema. Al momento de dale click en cualquiera de mis registros del grid se cargan automaticamente en una cajas de texto ok entonces una vex aqui puedo eliminar o modificar mi registro. Ok en el Click del mi button eliminar tengo esto: Private Sub BtnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEliminar.Click Try If TxtCve.Text = "" Then MsgBox("Seleccione el registro a eliminar",MsgBoxStyle.Information) Else Dim oEliminar As New SIAPREClasses.ClasesGenerales.Usuario(CInt(TxtCve. Text)) oEliminar.Eliminar() actualiza = True End If Catch ex As Exception MsgBox("El usuario no puede ser eliminado de la base de datos", MsgBoxStyle.Critical) End Try If actualiza = True Then TxtCve.Text = "" TxtNombre.Text = "" checkEstado.Checked = False cmbTipoAcceso.SelectedIndex = 0 DgPersonal.DataSource = Nothing DataGrid1.DataSource = gTabla() //Es aqui donde esta mi problema DataGrid1.Show() //Ya que no borra los datos anteriores End If //Mi DataGrid |
Prueba haciendo Tabla1.Clear() y Table2.Clear() antes de volver a cargarlos, recuerda que en aplicaciones de escritorio los datos permanecen en dichos objetos, es decir con cada consulta sólo se van añadiendo los datos a los que ya exisitían en dicho objeto. Por otro lado DgPersonal.DataSource = Nothing o DataGrid1.DataSource = Nothing no tiene ningún efecto... Saludos |
| La zona horaria es GMT -6. Ahora son las 15:37. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.