Redimiento en Compact Framework – Carga de datos en un DataGrid

Siguiendo en la línea de «agradar» a nuestros clientes, y porque no decirlo a nuestros pequeños corazoncillos, algo que suele marcar la diferencia entre una solución aceptable y otra que caerá en el olvido es la velocidad con la que nuestra aplicación se mueva, por ello y para comenzar esta nueva línea he recopilado algunos de los ejemplos que tenia por ahí olvidados y me he dedicado a ponerlos en comparativa. El primer ejemplo que voy a tratar es la carga de datos en un DataGrid, utilizando tres métodos, carga de datos desde un DataSet mediante el asistente que nos da la herramienta de Visual Studio, es decir utilizando un tableadapter un bindignsource y el dataset correpondiente, el otro método consistirá en cargar los datos en un DataTable que definiremos y cargaremos en tiempo de ejecución, la carga de datos la realizaremos simplemente con un SqlCeDataReader para recorrer y asignar los datos y asignar el datatable al Datasource del DataGrid (vaya trabalenguas), y por último la misma operación pero utilizando como lector un SqlCeResultSet.

image

Como podéis ver el cargar un DataGrid directamente rellenando un DataTable creado en tiempo de ejecución reduce el tiempo de muestreo de los datos en nuestro DataGríd casi a la mitad que utilizando el asistente eso sin contar con la cantidad de memoria utilizada que no es el objetivo de esta prueba.

Por supuesto que esto solo nos puede resultar útil para mostrar grandes volúmenes de datos (cosa que en aplicaciones móviles no es muy recomendado) ya que para volúmenes de pequeños (menos de 500) no hay mucha diferencia, aunque personalmente una diferencia de ver los resultados de forma casi instantánea a esperar uno o dos segundos si que es importante.

Para lo demás os dejo que toméis vuestras propias conclusiones, las pruebas las he realizado contra un dispositivo real, mi pobre y resucitada HTC P3300 con un procesador OMAP850-210MHz. realizando cargas de 100, 1000 y 10000 registros de una tabla con cuatro campos, por lo que los resultados pueden variar en caso de utilizar otros dispositivos aunque siempre de forma proporcional, también lo he probado contra el emulador pero para este tipo de pruebas los resultados no son fiables.

Y eso es todo por hoy.

Saludos

José Antonio Gallego

Mobile .NET Users Group

Un comentario sobre “Redimiento en Compact Framework – Carga de datos en un DataGrid”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *