TIENPO PARA RELLENAR UN MSFLEXGRID

Carmelo
27 de Agosto del 2008
HE ESTADO VIENDO VARIOS METODOS PARA RELLENAR UN FLEXGRID, Y QUERRIA SABER CUAL ES EL MAS RAPIDO. ALGUIEN SABRIA AYUDARME A DETERMINARLO ?

Carlos Us?
27 de Agosto del 2008
yo los relleno con additem, separando los campos con tabuladores. supongo que es el metodo mas rapido.

Baltasar
27 de Agosto del 2008
te mando un "estudio" que hace poco me preparé hacerca de los msflexgrid, y ya me contarás.
Saludos

sdemingo
27 de Agosto del 2008
Hola Baltasar,

¿podrías mandarme a mi también ese estudio?
Yo cargo los msflexgrid con AddItem y vbTab entre campo y campo, igual que el compañero que respondió antes.

Gracias y salu2
sdemingo

Baltasar
27 de Agosto del 2008
Hola, sdemingo!!!

pues no te lo voy a enviar, mira tú.

lo que haré es ponerlo aquí, y así evitamos una avalancha de esas ;-)

Saludos
(en unos minutos vuelvo con el resto)

Baltasar
27 de Agosto del 2008
Esta es una de esas cosas que me encanta hacer, porque es como "descubrir" mundos nuevos, jejeje.

Pongamos en un formulario un msflexgrid llamado GRID1, un commandbutton y cuatro textbox.
¿ya está?

vale, ahora copiamos este código dentro, pulsamos F5 y le damos al commandbutton.


Private Sub Command1_Click()
Dim tiempo
Grid1.Cols = 8

'método del additem
tiempo = Timer
Grid1.Rows = 1
For a = 0 To 29999
Grid1.AddItem "Uno" & vbKeyTab & "Dos" & vbKeyTab & "Tres" & vbKeyTab & "Cuatro" & vbKeyTab & "Cinco" & vbKeyTab & "Seis" & vbKeyTab & "Siete" & vbKeyTab & "Ocho"
Next a
Text1 = Timer - tiempo

Grid1.Rows = 1
Grid1.Clear
DoEvents

'método del textmatrix
tiempo = Timer
Grid1.Rows = 1
For a = 0 To 29999
Grid1.Rows = a + 1
Grid1.TextMatrix(a, 0) = "Uno"
Grid1.TextMatrix(a, 1) = "Dos"
Grid1.TextMatrix(a, 2) = "Tres"
Grid1.TextMatrix(a, 3) = "Cuatro"
Grid1.TextMatrix(a, 4) = "Cinco"
Grid1.TextMatrix(a, 5) = "Seis"
Grid1.TextMatrix(a, 6) = "Siete"
Grid1.TextMatrix(a, 7) = "Ocho"
Next a
Text2 = Timer - tiempo

Grid1.Rows = 1
Grid1.Clear
DoEvents

'método del textmatrix ocultando el grid
tiempo = Timer
Grid1.Visible = False
Grid1.Rows = 1
For a = 0 To 29999
Grid1.Rows = a + 1
Grid1.TextMatrix(a, 0) = "Uno"
Grid1.TextMatrix(a, 1) = "Dos"
Grid1.TextMatrix(a, 2) = "Tres"
Grid1.TextMatrix(a, 3) = "Cuatro"
Grid1.TextMatrix(a, 4) = "Cinco"
Grid1.TextMatrix(a, 5) = "Seis"
Grid1.TextMatrix(a, 6) = "Siete"
Grid1.TextMatrix(a, 7) = "Ocho"
Next a
Grid1.Visible = True
Text3 = Timer - tiempo
End Sub


lo que veremos es el tiempo que tarda en llenar el grid con un número dado de filas (30000 para este ejemplo) y nos lo irá poniendo en cada textbox según el método usado.

Alguien ve la diferencia? (sdemingo, espero pronta respuesta, porque luego hay sorpresa, y si no . . . . para qué el textbox nº 4 ???? )

Baltasar
27 de Agosto del 2008
Perdona lo que he tardado, pero lo he tenido que preparar sobre la marcha.
Repito: espero respuesta, jejeje.