DataGrid
Recorrido.
Podemos hacerlo de forma numérica, con un contador, o recorrer los objetos de tipo fila que
componen el objeto DataGrid, o bien las celdas que componen cada objeto fila
Recorrer el DataGrid por lo tanto podría ser:
Dim X As Integer
Dim Fila As DataGridViewRow
For X = 0 To [Link] – 1
Fila = [Link](X)
Next
Y si deseamos recorrer las columnas de una fila.
Digamos que de la forma más clásica sería como el ejemplo que sigue:
Dim X As Integer
Dim Y As Integer
Dim Fila As DataGridViewRow
Fila = [Link](X)
For Y = 0 To [Link] – 1
Next
Y utilizando el bucle del tipo para cada objeto en la Fila, como vemos a continuación:
Dim X As Integer
Dim Fila As DataGridViewRow
Dim Celda As DataGridViewCell
Fila = [Link](X)
For Each Celda In [Link]
Next
Ahora solo queda llenar el bucle.
53.10. Intercambio de filas.
En realidad el intercambio de filas no es posible, así tal cual.
Lo que pasa es que podemos crear objetos fila que sean iguales y no visualizarlos completos en un
DataGrid, o en un ListBox, y a partir de ahí apoyándonos en un objeto DataTable, usando el método
ImportRow trasvasar objetos fila de una tabla a otra.
Private Sub Anyadir()
Dim Campos(3) As Object
Dim Fila As DataRow
Dim Fecha As String
Fila = [Link]([Link])
[Link](Fila)
Campos(0) = [Link]("Numero").ToString
Campos(1) = [Link]("Vencimiento").ToString
Campos(2) = [Link]("NomSocio").ToString
Campos(3) = [Link]("Importe").ToString
[Link](Campos)
[Link](Fila)
End Sub
Y el complemento sería el paso inverso que sería:
Private Sub Quitar()
Dim Fila As DataRow
Try
Fila = [Link]([Link](0,
[Link].Y).[Link])
[Link](Fila) ' Traspasamos del grid a la tabla de listbox
[Link]([Link])
[Link](Fila)
Catch ex As NullReferenceException
End Try
End Sub
El sistema se basa en la existencia de un objeto DataTable, para cada objeto, y lo que hacemos es
compatibilizarlos, por decirlo de alguna manera.
Si añadimos en la TablaGrid, quitamos de la Tabla del ListBox.
[Link](Fila)
[Link](Fila)
Y al revés, si añadimos a la tabla del ListBox, quitamos de la tabla del DataGrid.
[Link](Fila) ' Traspasamos del grid a la tabla de listbox
[Link](Fila)
Las tablas se pueden igualar a partir de una de ellas
CargaLista(Lista, Adaptador, Tabla)
TablaGrid = [Link]
De forma que creamos una estructura idéntica en las dos.
En el procedimiento ya existe todo el código necesario para cargar la tabla y los datos en el ListBox.