en

MSGuayaquil

Recursos esenciales para el desarrollador .NET

Excel 2003 y ListObjects (VSTO 2005)

Último post 05-10-2007 4:44 PM escrito por dmagues. 2 respuestas.
Página 1 de 1 (3 elementos)
Ordenar mensajes: Anterior Siguiente
  • 05-10-2007 8:17 AM

    • dmagues
    • Contribuyente Top 100
    • Se unió el 05-10-2007
    • Envíos: 2
    • Puntos: 0

    Excel 2003 y ListObjects (VSTO 2005)

    Tengo una aplicación en excel, en la cual consulto datos y lleno un datatable.  Este datatable lo enlazo a un listobject en excel.  Hasta ahi todo bien, pero mientras esta enlazado al listobject, la navegación por los datos se vuelve un problema, principalmente si el usuario se mueve por la cabecera del listobject.  Cuando navego por la cabecera se produce una demora que se muestra en el task manager que excel consume entre 50% y 90% del tiempo de CPU.  Según estuve leyendo, al tener un databind de dos vias (2-way databinding) en mi list object se paga un precio de perfomance.  Pero esto es bastante alto para mi gusto.  Cuando desconecto el databinding (ListObject1.Disconnect) el usuario trabaja sin ningun problema, pero no tengo las ventajas de actualización de datos a la base de datos.

     Mi pregunta es, existe alguna propieda o configuración, que me permita mejorar los problemas de performance que se muestran cuando el listobject se mantiene enlazado a la fuente de datos (datatable).  El promedio de registros que se manejan son entre 3000 y 4000 registros y 13 campos por registro.

    • Puntos de post: 0
  • 05-10-2007 9:26 AM en respuesta a

    • Julio Casal
    • Contribuyente Top 10
    • Se unió el 04-21-2007
    • Guayaquil
    • Envíos: 401
    • Puntos: 18,415

    Re: Excel 2003 y ListObjects (VSTO 2005)

    Pregunta: Realmente necesitas Databinding de dos vías todo el tiempo? Es decir, no sería tal vez suficiente con que establezcas el binding por ejemplo cuando el usuario le da Save en Excel? Eso quiere decir que, una vez que cargues los datos iniciales, simplemente te desconectarías de tu datasource y no reconectarías sino hasta que el usuario de click en Save. Vi un artículo por acá que habla acerca de aquello.

    Julio.

    Julio Casal
    http://msguayaquil.com/blogs/julioc
    Archivado en:
    • Puntos de post: 0
  • 05-10-2007 4:44 PM en respuesta a

    • dmagues
    • Contribuyente Top 100
    • Se unió el 05-10-2007
    • Envíos: 2
    • Puntos: 0

    Re: Excel 2003 y ListObjects (VSTO 2005)

    Gracias por tu comentario Julio.

    La verdad estoy implementando esta aplicación con un botón Actualizar, mas o menos como tu me indicas para enviar a guardar los cambios realizados en los datos de mi datatble a la base de datos.

     Te cuento que también que estuve considerando y, es más, implementé esta solución, de ibcluir un botón que me desconecte del datasource, para poder navegar sin problemas en el documento excel.  Pero al hacer esto, las funcionalidades de insertar, actualizar y borrar datos ya no funcionan, ni siquiera los eventos BeforeAddDataBoundRow y ErrorAddDataBoundRow, en los cuales manejo ciertas validaciones.  Descrtando ese hecho, hay dos cosas que no he podido hacer:

    1.  Como subo los datos que creé o modifiqué al datatable  si no puedo reconocer en que celda cambié.

    2.  Como reconecto al datasource el listobject.

    Parece que me complico un poco, pero en realidad necesito la funcionalidad de databindidng para el mantenimiento de los datos.

     

    • Puntos de post: 0
Página 1 de 1 (3 elementos)
© 2007 MSGuayaquil. Todos los derechos reservados.
Powered By IIS 6 Powered By ASP.NET 2.0 Ofrecido por Community Server (Commercial Edition) Powered By SQL Server 2005
Creado y Administrado por Julio Casal