Colegas del OpenOffice, tengan ustedes un excelente día.
Resulta que tengo el siguiente detalle, tengo un botón desde el cual llamo la funcion ppal main para llenar una lista contenida en un Dialogo o ventana el cual se carga al presionar el boton, resulta que la siguiente intrucción me llena la lista correctamente,
Do Until oHojaDatos.getCellByPosition(0,co1).getString = ""
olstDatos.addItem( oHojaDatos.getCellByPosition(0,co1).getString, olstDatos.getItemCount)
co1 = co1 + 1
Loop
pero cuando quiero llenar la lista con más de 10 mil registros, el proceso con esta instrucción se demora 30min, el mismo proceso en excel se hace simultaneo, requiero su ayuda para saber que intrucción o metodo puedo usar para hacer ese proceso.
Método para llenar lista
-
- Mensajes: 9
- Registrado: Jue Dic 10, 2009 6:39 pm
Método para llenar lista
Última edición por mauricio el Dom Ene 03, 2010 5:14 am, editado 1 vez en total.
Razón: Cambiar titulo a minúsculas
Razón: Cambiar titulo a minúsculas
JULIO JIMENEZ
OpenOffice 2.4 en Windows Xp
OpenOffice 2.4 en Windows Xp
Re: METODO PARA LLENAR LISTA
Hola...
Cierto, en mi maquina los tiempos fueron:
Para 10 registros - 0 segundos
Para 1000 registros - 2 segundos
Para 10000 registros - 600 segundos
El problema esta en el método addItem del control, prueba a hacer un ciclo sin este método y observa que es muy rapido.
También puedes probar a agregar directamente el valor para que compruebes que el problema esta en este método:
No hay mucho que hacer en este caso. Si tienes necesidad de mostrar 10,000 datos en un cuadro de lista, tal vez es una buena indicación de que necesitas bases de datos. También puedes usar un control de formulario, este control si tiene la propiedad para vincular con un rango de celdas y te las muestra al instante, pero tendras que ingeniartelas para adaptarlo a tus necesidades, te anexo el mismo ejemplo, con un control cuadro de lista de formulario, mostrando 10,000 datos de celdas.
Por favor, procura darle seguimiento a tus mensajes y no publicar diferentes hilos con el mismo tema. También, estos temas de macros irian mejor en el foro correcto.
Saludos
Cierto, en mi maquina los tiempos fueron:
Para 10 registros - 0 segundos
Para 1000 registros - 2 segundos
Para 10000 registros - 600 segundos
El problema esta en el método addItem del control, prueba a hacer un ciclo sin este método y observa que es muy rapido.
Código: Seleccionar todo
For co1 = 1 To 10000
Next
MsgBox co1
Código: Seleccionar todo
For co1 = 1 To 10000
olstDatos.addItem( co1, olstDatos.getItemCount)
Next
Por favor, procura darle seguimiento a tus mensajes y no publicar diferentes hilos con el mismo tema. También, estos temas de macros irian mejor en el foro correcto.
Saludos
- Adjuntos
-
- Mostrar valores en ListBox.ods
- (40.9 KiB) Descargado 233 veces
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: Método para llenar lista
Hola...
En el siguiente hilo te doy una alternativa mucho mejor: http://user.services.openoffice.org/es/ ... 2302#p7002
Por favor, revisala y si esto resuelve tu pregunta, marca todos los mensajes que has publicado como [RESUELTO], esto nos permite tener foros más ordenados.
Saludos
En el siguiente hilo te doy una alternativa mucho mejor: http://user.services.openoffice.org/es/ ... 2302#p7002
Por favor, revisala y si esto resuelve tu pregunta, marca todos los mensajes que has publicado como [RESUELTO], esto nos permite tener foros más ordenados.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro