Power Builder - Datawindows dinamicos

 
Vista:

Datawindows dinamicos

Publicado por Bruno Carrasco (1 intervención) el 11/04/2004 05:35:19
Hola
Alguien sabe como puedo crear un datawindow dinamicamente
e estado probando con el setsqlselect, el modify, el describe, etc. pero no me sale
tengo varias tablas en sql que solo quiero visualizar y no quiero hacerles un datawindows a cada uno. me han dicho que puedo crear los datawindows dinamicamente cambiando el select pero no me sale
¿alguien me puede ayudar con un pequeño ejemplo?
gracias
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:Crear un objeto DW de una tabla

Publicado por Oscar (1178 intervenciones) el 11/04/2004 16:48:56
CREAR UN OBJETO DW DINAMICAMENTE DE UNA TABLA
y mostrarla en un control DW:

1. En una ventana pegas un control dw_1 y un botón.

2. Declaras una variable de instancia.
String is_codigo

3. Script en el botón:
string ls_select
string ls_where
string ls_dwsyntax
string ls_err

ls_select = "Select codigo, nombre, edad from mitabla"
ls_where = " where mitabla.codigo like '" + is_codigo + "%'"
ls_dwsyntax = SQLCA.SyntaxFromSQL ( ls_select, "Style(Type=grid)", ls_err )
dw_1.Create ( ls_dwsyntax, ls_err )
IF ls_err <> '' THEN
MessageBox ( "error - Sintaxis", ls_err )
ELSE
dw_1.SetTransObject ( SQLCA )
dw_1.Retrieve()
END IF
---------------------------
Nota: Si quieres mostrar varios objetos DW (creados manualmente) en un solo DW; puedes ver el siguiente script.
//(CONTINUA..)
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

RE: Mostrar varios Objetos DW en un control DW

Publicado por Oscar (1178 intervenciones) el 11/04/2004 16:52:05
MOSTRAR VARIOS OBJETOS DW EN UN SOLO CONTROL DW
1. Creas un objeto DW, de tipo externo, que tenga una columna que se llame Nombre de tipo string y longitud 20. Este DW (que se llamará d_datawindow), mostrará todos los objetos DW que se hallan en tu libreria.

2. En la ventana insertas dos controles DW.
- dw_lista
- dw_resultado(mostrará el objeto DW seleccionado en dw_lista)

3. Asocias el control dw_lista con el objeto d_datawindow.

4. Script evento open de la ventana.

String ls_lista
ls_lista=LibraryDirectory("milibreria.pbl",DirDataWindow!)
If not IsNull(ls_list)then
dw_1.SetRedraw(FALSE)
dw_1.Reset()
dw_1.ImportString(ls_lista)
dw_1.SeRedraw(TRUE)
End if

5. Script evento RowFocusChanged de dw_lista.
String ls_objetos, ls_dw
Long p
SelectRow(0,FALSE)
SelectRow(CurrentRow,TRUE)
ls_dw=This.Object.Nombre[CurrentRow]
dw_resultado.DataObject=ls_dw
dw_resultado.SetTransObject(SQLCA)
dw_resultado.Retrieve()
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

RE: Mostrar varios Objetos DW en un control DW

Publicado por Bruno Carrasco (1 intervención) el 14/04/2004 06:00:50
Gracias Oscar
me sirvio de mucho
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

RE:Datawindows dinamicos

Publicado por alberlis (1 intervención) el 08/11/2005 15:55:55
Has lo siguiente:
string ERRORS, sql_syntax
string presentation_str, dwsyntax_str

sql_syntax = Escribe la sentencia sql que requieres

presentation_str = "style(type=grid)"

dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax, presentation_str, ERRORS)

dw_1.Create( dwsyntax_str, ERRORS)

dw_1.SETTRANSOBJECT(SQLCA)
dw_1.RETRIEVE()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Datawindows dinamicos

Publicado por gerardo emmanuel (1 intervención) el 03/10/2006 22:22:23
Holas bruno q tal, se q necesitas ayuda para crear datawindows dinamicos, bueno lo q si te digo es q necesitas insertar un control dw en cada window q quieras utilizarlo y el codigo es el sgte:

string syntax,tipo,ejecutar

syntax="select * from employees"
tipo="style(type=grid)"
ejecutar=sqlca.sqlsyntax(syntax,tipo,"none")

dw_1.open=ejecutar

dw_1.settransobject(sqlca)
dw_1.retrieve()

nos vemos provecho con el codigo
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