Skip to content

Pasar datos de un DataGrid a un DataTable

May 23, 2012
Por ejemplo, si tenemos un grid con datos y necesitamos poderlos modificar y que los cambios queden reflejados en una BBDD, no hay problema si la actualización es directa. Pero en el caso que al modificar un dato, se tengan que hacer cálculos potentes que afecten a todos los datos de una columna, por ejemplo lanzando un cálculo recursivo que llevaría mucho tiempo en realizarse para todas las filas; nos encontraremos ante un grave problema, ya que si lanzamos el evento a cada modificación de celda, no iremos bien.
La alternativa que he encontrado es el pasar los datos del DataGrid a un DataTable, y cuando el ususario pinche en un botón “recálculo” es entonces cuándo se va a lanzar el recálculo para todos los datos. 
Para ello con esto ya tenemos por donde empezar:
  Dim dt As DataTable = DirectCast(nombreDataViewGrid.DataSource, DataTable)

                For i As Integer = 0 To dt.Rows.Count – 1
                    MsgBox(dt(i)(0).ToString & ” – ” & dt(i)(4).ToString)
                Next

Esto nos muestra por pantalla los valores de cada fila del DataTable, para las columnas 0 i 4. El siguiente paso es hacer un UPDATE en la BBDD a partir de este DataSet.
Saludos!
Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: