lunes, 23 de junio de 2008

Como eliminar datos o filas en un DataGridView enlazado a Datos (por un DataTable,DataSet,etc)

Bueno este caso es clasico de seguro les a pasado a muchos y la solucion es facil.
Cuando ustedes llenan el DataGridView a veces lo hacen con la Propiedad DataSource, que seria :
Ejemplo :
Dim dt as DataTable
dt = oClase.TraerDatos()
DataGridView1.DataSource= dt
Pero al hacer esto amarramos o enlazamos el DataGridView al DataTable y cuando querramos borrar o limpiar el DataGridView con :
DataGridView.Rows.Clear() ' No se podra
Pero si utilizamos :
DataGridView.Columns.Clear()
Si limpia el DataGridView pero con todo y Cabeceras, para solucionar esto haremos un pequeño artificio, quedando el codigo de la siguiente forma :
Dim dt as DataTable
Dim dt2 as DataTable
dt = oClase.TraerDatos()
dt2 = dt.Clone ' Es la Propiedad que me servira para clonar la estructura de un DataTable en este caso las Columnas
DataGridView1.DataSource= dt

Ahora si cuando limpiemos el DataGridView con el evento de un Boton, supongamos que se llame btnLimpiar :
Private Sub btnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click
DataGridView1.Columns.Clear()
DataGridView1.DataSource = dt2
'Para simular que hemos limpiado todas las filas de datos del DataGridView y caso resuelto
End Sub


Hasta la proxima.

1 comentario:

Anónimo dijo...

Gracias exelente info, fue muy util! :):):):):):)!