Escribir un archivo txt de los datos de un grid

21/09/2005 - 22:15 por Cachin | Informe spam
Hola alguien me puede decir si hay alguna forma de optimizar el proceso para
guardar los datos de un grid a un arcivo de texto.

Ya lo intente con esto:

'PARA RECORRER LAS FILAS DEL GRID
For i = 0 To ViewRecords.Count - 1
' PARA RECORRER LAS COLUMNAS DEL GRID
For Each col As DataGridColumnStyle In
Me.dgDatos.TableStyles(0).GridColumnStyles

' SI EL VALOR ES NULO, QUE ESCRIBA UN CERO
If IsDBNull(Me.dgDatos.Item(i, j)) Then
cadena = cadena & "0" & vbTab
Else ' SI EL VALOR ES IGUAL A "No se encontro" QUE
ESCRIBA UN CERO
If CStr(Me.dgDatos.Item(i, j)) = "No se encontró"
Then
cadena = cadena & "0" & vbTab
Else ' ESCRIBE EL VALOR
cadena = cadena & Me.dgDatos.Item(i, j) & vbTab
End If
End If
' INREMENTA A j PARA RECORER LAS COLUMNAS
j = j + 1
Next
cadena = cadena & vbCrLf ' FIN DE LINEA
' j=0 PARA VOLVER A EMPEZAR A RECORRER LAS COLUMNAS
j = 0
Next


Pero cuando se manejan demaciados registros (mas de 10000) el proceso se
vuelve tardio, esdecir, muy lento.
hay alguna forma de mejorarlo.

Por su atencion Gracias.

ATT.

Jesús López
jesus@desitecsa.com.mx
chuylor@hotmail.com
 

Leer las respuestas

#1 Julio Casal
22/09/2005 - 04:45 | Informe spam
Hola Cachin. Pregunta: ¿tienes un dataset como datasource de tu datagrid? Si
es así, te recomiendo recorras el dataset, en lugar de las celdas del
datagrid. Esta es la forma preferida de trabajar, ya que el grid es un simple
visualizador de datos, más es el dataset el que contiene en verdad todos los
datos y con él deberías trabajar. Esto es más eficiente que leer el grid.

Saludos.

Julio Casal
.Net Solution Developer
MCAD
Grupo Lebed


"Cachin" wrote:

Hola alguien me puede decir si hay alguna forma de optimizar el proceso para
guardar los datos de un grid a un arcivo de texto.

Ya lo intente con esto:

'PARA RECORRER LAS FILAS DEL GRID
For i = 0 To ViewRecords.Count - 1
' PARA RECORRER LAS COLUMNAS DEL GRID
For Each col As DataGridColumnStyle In
Me.dgDatos.TableStyles(0).GridColumnStyles

' SI EL VALOR ES NULO, QUE ESCRIBA UN CERO
If IsDBNull(Me.dgDatos.Item(i, j)) Then
cadena = cadena & "0" & vbTab
Else ' SI EL VALOR ES IGUAL A "No se encontro" QUE
ESCRIBA UN CERO
If CStr(Me.dgDatos.Item(i, j)) = "No se encontró"
Then
cadena = cadena & "0" & vbTab
Else ' ESCRIBE EL VALOR
cadena = cadena & Me.dgDatos.Item(i, j) & vbTab
End If
End If
' INREMENTA A j PARA RECORER LAS COLUMNAS
j = j + 1
Next
cadena = cadena & vbCrLf ' FIN DE LINEA
' j=0 PARA VOLVER A EMPEZAR A RECORRER LAS COLUMNAS
j = 0
Next


Pero cuando se manejan demaciados registros (mas de 10000) el proceso se
vuelve tardio, esdecir, muy lento.
hay alguna forma de mejorarlo.

Por su atencion Gracias.

ATT.

Jesús López





Preguntas similares