Está en la página 1de 5

Limpiar dtagridview

DataGridView1.DataSource=Nothing
and
DataGridView1.DataSource=Nothing
DataGridView1.Refresh()
and
DataGridView1.RefreshEdit()
None of them works..
I've written a method that sets the DataSource of the DataGridView when executed.
but each time i execute it, it replicates the data with new value and appends it to the
previous contents of the DGV.. I wanna clear the content and then add the values.. Is
that possible?
roblema: Tengo datos que se muestran como resultado de una consulta en el grid, pero se desea
volver a buscar bajo otros criterios y se debe limpiar el grid para mostrar los nuevos datos
Solucin: Limpiar los datos del dataTable, binding y grid
As es como yo lo hago
1
2
3
4
5
6
DataTable1.Clear()
bindingSource1.DataSource = Nothing
bindingSource1.DataSource = ""
bindingSource1.Clear()
DataGridView1.DataSource = bindingSource1
DataGridView1.Columns.Clear()
Esto lo pongo en un botn llamado Limpiar para que se pueda volver a buscar por otros criterios.
SI TU DATAGRIDVIEW HACE REFERENCIA A UN DATASET, TENDRIAS QUE LIMPIAR TU DATASET Y
LUEGO LLENARLO PARA MOSTRAR TU ACTUALIZACION EN EL DATAGRIDVIEW.

oCON.open()
DataSet.TABLA.Clear()
Dim ordAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(QUERY, oCON)
ordAdapter.Fill(DataSet.TABLA)
oCON.close()

Problema: Tengo datos que se muestran como resultado de una consulta en el grid, pero
se desea volver a buscar bajo otros criterios y se debe limpiar el grid para mostrar los
nuevos datos
Solucin: Limpiar los datos del dataTable, binding y grid.

As es como yo lo hago


'Primero se limpia el dataTable
DataTable1.Clear()
'Luego se quita la relacin del dataTable con el bindingSource y se
limpia
bindingSource1.DataSource = Nothing
bindingSource1.DataSource = ""
bindingSource1.Clear()
DataGridView1.DataSource = bindingSource1 'Se vuelve a relacionar
el bindingSource vacio con el grid
DataGridView1.Columns.Clear() 'Al final se limpian las columnas que
pudieran haber

Esto lo pongo en un botn llamado Limpiar para que se pueda volver a buscar por otros
criterios.

Se deben seguir ms o menos estos mismos pasos, por decirlo de alguna manera, de
abajo hacia arriba, limpiando primero el dataTable, luego el bindingSource y por ltimo el
dataGridView, porque si no, suele o no borrarse la informacin o mostrar un mensaje de
error.
---------------------

Muchos de ustedes amigos lectores ya estn acostumbrndose a revisar mis artculos,
las cuales son algo amplias y entretenidas, pero esta vez tan slo quiero compartirles
este cdigo. Se trata de cmo limpiar una grilla. No quiero ofenderte con esto, tal vez
est pasando en este momento por tu cerebronet, la idea de que todo esto es muy
fcil para ti, y que es una prdida de tiempo o algo as. La verdad es que debemos
pensar en aquellas personas novatas que necesitan ayuda, pues pensando en ellas,
comparto este cdigo sencillo. Sinceramente, la idea de publicar esto no me naci, es
ms, lo hice porque un amigo lector me escribi solicitndome el cdigo para limpiar
una datagrid.
Bueno, la idea para limpiar la datagrid, es la siguiente: Una vez llenada la datagrid con
los datos deseados, se procede a limpiarla de todo contenido haciendo uso de una
DataTable, la cual lleno de cadenas vacas y la enlazo a la datagrid. El resultado ser
una datagrid "vaca", aunque esto no es de todo cierto ya que la datagrid estar llena
de cadenas vacas.
Espero que te sirva, y si tienes una mejor manera de hacer lo mismo que hice, pues
escrbeme al correo. Recuerda, debemos pensar en los dems y nadie lo sabe todo.
A continuacin sigue cdigo en Visual Basic NET:
Public i, j As Integer
Public Sub OperacioDataGrid(ByVal Modo As String)
'inicializamos valores..
i = 0 : j = 0
'creamos un objeto tabla...
Dim Tabla As New DataTable
For i = 0 To 8
'creamos las columnas y las insertamos en la tabla...
Tabla.Columns.Add(New DataColumn("Column " & i))
Next
'creamos las filas de la tabla llenndolas con datos...
For i = 0 To 10
Dim fila As DataRow
'creamos una fila...
fila = Tabla.NewRow()
For j = 0 To 8
'evaluamos el modo de operacion que se har en la datagrid
If Modo Is Nothing Then
'limpiamos...
fila(j) = ""
ElseIf Modo = "llenar" Then
'llenamos
fila(j) = "Celda (" & i & ", " & j & ")"
End If
Next
'agregamos la fila a la coleccion de filas de la tabla
Tabla.Rows.Add(fila)
Next
'tamao por defecto de la datagrid
Me.DataGrid1.Size = New Size(750, 300)
'enlazamos nuestra datagrid con la tabla llena de datos....
Me.DataGrid1.DataSource = Tabla
'...eso es todo... que fcil verdad..??? Nos vemos..
withoutlimits2983@hotmail.com
End Sub
Private Sub BtnLlenar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnLlenar.Click
'llenar datos...
Me.OperacioDataGrid("llenar")
End Sub
Private Sub BtnLimpiar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnLimpiar.Click
'para liberar datos o recursos
Me.DataGrid1.DataSource = Nothing
'para limpiar
Me.OperacioDataGrid(Nothing)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'No te olvides de promocionar mis artculos...
'slo eso pido de recompensa...claro slo no te olvides de votar por
mi..
MsgBox(" Percy Reyes" + vbCrLf + _
" Master of deception .net" + vbCrLf + _
" Visual Basic .NET" + vbCrLf + _
"Derechos Reservados - Per")
End Sub
En primer lugar, llenamos la datagrid.


...luego limpiamos la datagrid de todo contenido.

También podría gustarte