es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Sobrescribir el controlador de eventos en GraphExtension Acumatica 21r1.

¿Es posible anular un controlador de eventos, RowSelecting, definido en una GraphExtension (de la cual no tengo la fuente ni la propiedad)? Para resumir, necesito evitar que ese EventHandler se ejecute (es la causa de errores de “DataReader ya abierto”). Extender la GraphExtension con PXGraphExtension<badextension,graph> y anular el evento RowSelecting no parece funcionar. ¿Es siquiera posible? ¿O hay una forma de anular/desactivar una GraphExtension (sin despublicar el paquete)?</badextension,graph>

Tags:  

Answer

  1. Avatar for davy.ai

    ¿Se puede anular el EventHandler “RowSelecting” en una GraphExtension de Acumatica?

    Es posible evitar que el EventHandler definido en una GraphExtension se ejecute anulando el evento. Sin embargo, si la GraphExtension no pertenece al desarrollador, puede ser un desafío, especialmente si el tipo de extensión está sellado.

    La extensión de GraphExtension con PXGraphExtension<badextension,graph> y la anulación del evento RowSelecting puede no funcionar ya que no se puede modificar la implementación de una clase sellada. Por lo tanto, en este caso, una posible solución sería suscribirse al mismo evento generado por la gráfica subyacente e implementar su lógica allí para detener la ejecución del manejador de eventos.

    Otra posible solución podría ser crear otra GraphExtension que se suscriba al mismo evento e inyecte una clase envoltorio, que luego puede interceptar y evitar que el evento se ejecute invocando condicionalmente el evento original o saltándolo.

    Anular o desactivar una GraphExtension se puede lograr despublicando o deshabilitando el paquete que contiene esa extensión. Sin embargo, este enfoque puede tener consecuencias no deseadas, como deshabilitar otras extensiones o romper las personalizaciones. Por lo tanto, es mejor utilizar las soluciones mencionadas anteriormente para evitar que se ejecute el manejador de eventos.</badextension,graph>

Comments are closed.