Power Builder - mostrar una fila concreta en un datawindow

 
Vista:

mostrar una fila concreta en un datawindow

Publicado por samuel (8 intervenciones) el 11/05/2005 18:44:45
Hola
Estoy creando una aplicacion en power builder 8.0 y tenia la siguiente consulta.
Tengo una ventana con una datawindow tipo grid donde me muestra una serie de tareas. Hago doble click sobre una y me abre otra ventana
con una datawindow tambien de tareas pero donde solo quiero que me muestre la tarea seleccionada.
De momento lo que hago es pasar el codigo de la tarea como parametro
de una ventana a otra y en la segunda lo recojo. Si hago el retrieve me aparecen todas las tareas. Cual seria la forma de que en el datawindow solo estuviese la tarea seleccionada y no todas las tareas de la tabla??
Venga, gracias. Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mostrar una fila concreta en un datawindow

Publicado por Oscar (1178 intervenciones) el 11/05/2005 20:28:02
Veamos un ejemplo:

1. Creas siguiente tabla
idtarea(varchar) Clave principal
columna2(varchar)
columna3(varchar)

2. Creas un objeto DW tipo Grid con la anterior tabla y lo guardas con el nombre d_todos

3. Creas otro objeto DW tipo Grid con la misma tabla. Luego te vas al menú Desing/Retrieval Arguments y en Name escribes ras_todos y eliges Tipo String. Pulsas OK. Luego te vas a la ficha Where, en Column eliges id_todos y en Value, escribes :ras_todos (incluyendo los dos puntos) Guardas tu DataWindow con el nombre d_seleccionado.

4. Creas una ventana que contenga un control dw_todos asociado al objeto d_todos. Lo guardas con el nombre w_todos.

5. Creas otra ventana que contenga un control dw_seleccionado asociado al objeto d_seleccionado. Guardas con el nombre w_seleccionado.

6. Creas un estructura que se llamará s_todos, con las siguientes variables:
String ss_idtarea
String ss_columna2
String ss_columna3

7. Script para el evento open de la ventana w_todos:
dw_todos.settransobject(sqlca)
dw_todos.retrieve()

8. Script en el evento DoubleClicked del control dw_todos:
Long ll_fIlaActual
s_todos s_origen

ll_FilaActual=Row

s_origen.ss_idtarea=This.GetItemString(ll_FilaActual,1)
s_origen.ss_columna2=This.GetItemString(ll_FilaActual,2)
s_origen.ss_columna3=This.GetItemString(ll_FilaActual,3)

OpenWithParm(w_seleccionado,s_origen)

9. Script en el evento Open de la ventana w_seleccionado:

s_todos s_destino
s_destino=Message.PowerObjectParm

This.Title="Tarea seleccionada"

dw_seleccionado.SetTransObject(sqlca)
dw_seleccionado.Retrieve(s_destino.ss_idtarea)
//Si quieres que la tarea seleccionada sea sólo lectura
dw_seleccionado.Modify("DataWindow.ReadOnly=Yes")
//-------------Fin-----------------------
Si no te sale. Me avisas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar