Cómo crear un objeto de ventana de datos dinámicos
Utilice la función Describe() en el programa para obtener el código fuente de un objeto de ventana de datos existente. Por ejemplo:
String str_dwsyntax,str_lag
/Obtener sintaxis de ventana 1 de datos
str_dwsyntax=dw_1.object.datawindow.Syntax
//Generar dinámicamente una ventana de datos basada en la sintaxis de la ventana de datos 1 2
dw_2.create(str_dwsyntax)
//Modificar parcialmente el contenido de la ventana de datos 2
str_lag="stu_id_t.font.height='-12' stu_id_t.font.face='italic_GB2312 '"
//La fuente cambia al tamaño de fuente 12, de Song a cursiva
dw_2.modify(str_lag)
dw_2.settransobject(sqlca)
dw_2.retrieve()
Segundo método:
Utilice la función del sistema LibraryExport() en el programa para obtener el código fuente del objeto de ventana de datos existente.
Tercer método:
Utilice la función de exportación (clic derecho → Exportar) en el pincel de administración de bibliotecas del entorno de desarrollo de PowerBuilder (Library Painter) para guardar la sintaxis del objeto de la ventana de datos en texto en el archivo.
El cuarto método:
1. Al diseñar la ventana, establezca un control de ventana de datos en la ventana para mostrar la ventana de datos creada dinámicamente.
2. Construya la declaración SELECT.
3. Utilice la función de objeto SyntaxFromSQL() del objeto de transacción para generar una cadena que se ajuste a la sintaxis del objeto de ventana de datos.
4. Utilice la función de objeto Create() del control de ventana de datos para crear una ventana de datos.
Ejemplo: cadena str_err_sql,str_err_create,str_sql,str_syntax
str_sql="seleccione emp_id,emp_data,emp_name del empleado donde emp_salario>750"
// Genere la sintaxis de la ventana de datos de estilo libre correspondiente a la instrucción SELECT
str_syntax=SQLCA.SyntaxFromSQL(str_sql,'style(type=Form)',str_err_sql)
if len(str_err_sql ) >0 entonces
messagebox("Error", "Error al obtener la sintaxis SQL")
return
else
dw_1.create ( str_syntax,str_err_ create)
if len(str_err_create)>0 entonces
messagebox("Error", "¡Error al crear la ventana de datos!")
return
finalizar si
finalizar si
dw_1.settransobject(sqlca)
dw_1.retrieve()