• Jueves 25 de Abril de 2024, 08:49

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Jeinner Hidalgo

Páginas: [1]
1
Power Builder / Re: Como enumerar los resultados de mi datawindow
« en: Viernes 2 de Julio de 2010, 16:41 »
A que bien que te funcionó.

Con mucho gusto.

2
Power Builder / Re: Como enumerar los resultados de mi datawindow
« en: Jueves 1 de Julio de 2010, 17:28 »
Lo puedes hacer de varias formas.
1- Agregas al DW un campo calculado cuya expresión sea GetRow()
2- Si usas Oracle, puedes agregar al select el RowNum en el Select
3- Puedes agregar un campo al select 0 as consecutivo
   Luego despues del retrieve, recorres el DW con un For y le asignas el número del contador del for al campo consecutivo
  object.consecutivo[li_registro]=li_registro

Esas formas son las que se me ocurren por el momento.  La más simple es la primera.

Espero que sea esto lo que buscas.

3
Power Builder / Referir una ventana desde otra
« en: Miércoles 23 de Junio de 2010, 19:56 »
Hola a todos, aquí mi primer pequeño y humilde aporte a la comunidad.

Estimados señores y señoras Powerbuilderas. Aquí les traigo un tip, que me ha resultado bien para refrescar un Datawindow en una ventana, desde otra ventana; claro no se limita sólo a esta funcionalidad, ya verán que se puede emplear para muchas cosas.

En qué caso se puede emplear esta utilidad de referir una ventana desde otra? Bueno, al menos en mi particular circunstancia, sucede que tengo una ventana padre (por llamarla de alguna forma, pero no es un tipo de ventana especial), que abre otra (llamémosla hija), utilizando OpenSheetWithParm. Esta función (OpenSheet) abre ventanas individuales, cada vez que se ejecuta. Pero una vez que se salva la información de alguna de las ventanas hijas, se requiere que refresque un Datawindow de la ventana padre.

Nótese que la ventaja hija no es Response, por tanto, la ventana padre, no está esperando por la finalización de la ventana hija para refrescar la información.

Cómo lo resolví? Bueno, primero quiero que sepan que no sé si existe otra alternativa más simple, o si la utilización del Evento Other en particular podrá causar algún problema que no he sopesado ni sufrido sus consecuencias secundarias.

En resumen, al llamar la ventana padre, con la función OpenSheetWithParm, uno de los parámetos que paso a la ventana hija tiene asignada la dirección de la ventana padre, es decir su Handle().  En el eventoPfc_Save (utilizando pfc’s) de la ventana hija, ejecuto la función Send(), con la dirección de la ventana padre.

En el Evento Other del padre, reviso si los parámetros recibidos corresponden a lo esperado y refresco el Datawindow.

Aclarando; los siguientes Eventos resumen el funcionamiento general, envío como parámetro solamente la dirección de la ventana padre, pero también funcionaría si se envía la dirección en una estructura, ya que dicha dirección es un simple Long.
Ventana padre:
Variables de instancia:
Long il_handle

Evento Open
il_handle=Handle(This)

Evento Double Click del Datawindow que llama la ventana hija
OpenSheetWithParm(lw_sheet, il_handle, 'w_ventana_hija', w_frame, 0, Original!)

Evento Other
If wparam = 0 And lparam = 1 Then &
    dw_1.Event Pfc_Retrieve()


Ventana hija:
Variables de instancia:
Long il_handle_ventana_referencia

Evento Open
il_handle_ventana_referencia =Message.LongParm

Evento pfc_save:
If  ANCESTORRETURNVALUE = SUCCESS Then &
    Send(il_handle_ventana_referencia, 0, 0, 1)


Espero que este tip les sea de utilidad. Si alguien sabe si esto puede producir algún tipo de problema, por favor agradecería sus comentarios.

Muchas gracias.

Páginas: [1]