You are on page 1of 2

Imprimir datawindows

VISTA PREVIA
dw_1.Modify("DataWindow.Print.preview=Yes")

IMPRIMIR
dw_1.print(true)
PrintSetup( ) lista de impresoras

Validar solo letras o numeros en dw


puedes utilizar esta funcionproveida por el powerbuilder<Match
DataWindowexpressionfunction>..permite determinar el tipo de dato ingresado en un
contenedor..
ejemplo... para tu campo descripcion que es tipo string puedes controlar de la sigte manera:
evento itemchanged
ifgetcolumnname() = 'descripcion' then
if Match(data, "^[A-Z]") = false then // controla que solo ingrese caractermayuscula
messagebox('Atencin','El valor ingresado es invlido')
return 1
endif
endif
Otra solucion es ubicar este control en la propiedad VALIDATION EXPRESSION del campo en el
diseo de tu datawindow...podes acceder a esta propiedad a traves VIEW > COLUMN
SPECIFICATIONS.

Insert en datawindow
Integer li_Row
li_Row = dw_1.InsertRow(0)
dw_1.setItem(li_Row,'usuario','FTanori')

Amigo el mantenimiento de datos en PowerBuilder se hace a travez de DataWindows. Debes


crear un objeto DW y vincularalo a un control DW dentro de un Objeto Window. Ahora para
insertar un nuevo registro el codigo seria el siguiente:
//codigo de evento insertar
Long ll_pos
ll_pos = Dw_1.InsertRow(0) //esto te permite insertar una fila al final
Dw_1.ScrollToRow(ll_pos) //te posiciona en la fila insertada
//codigo para guardar cambios
If Dw_1.Update() = 1 Then

Commit;
Else
RollBack;
End If

Mantenimiento

Lo que necesitas hacer es lo ms fcil en power builder, bien empecemos:


Evento open
// Hacemos la transaccin para leer los datos al datawindows
dw_1. SetTransObject( SQLCA)
dw_1.Retrieve
BOTON NUEVO o AGREGAR (creo que es lo mismo) EVENTO CLICKED
// Declaramos una variable de tipo Long
Long ll_fila
// a esta variable le asignaremos la fila nueva en donde ingresaremos los datos
ll_fila = dw_1.InsertRow( 0)
// Ahora le diremos al datawindows que nos muestre la fila nueva creada
dw_1. ScrollToRow( ll_fila)
// Esto es una forma ms abreviada del cdigo de arriba
dw_1. ScrollToRow( dw_1. InsertRow( 0)
BOTON GUARDAR, EVENTO CLICKED
// le decimos que los cambios realizados al dw se actualizen
dw_1.Update( )
// Ahora verificamos los errores
If SQLCA.SQLCODE = 0 Then
MessageBox("MENSAJE", "Empleado guardado con exito")
Commit Using SQLCA;
Else
MessageBox("MENSAJE", "Error, el Empleado no se pudo Guardar")
Rollback Using SQLCA;
End If
BOTON MODIFICAR es lo mismo que el guardar
BOTON ELIMINAR, EVENTO CLICKED
// Eliminamos la fila que esta enfocada
dw_1.DeleteRow( dw_1.GetRow( ))
// Ahora actualizamos todos los datos del dw
dw_1.Update( )
// Ahora verificamos los errores
If SQLCA.SQLCODE = 0 Then
MessageBox("MENSAJE", "Empleado eliminado con exito")
Commit Using SQLCA;
Else
MessageBox("MENSAJE", "Error, el Empleado no pudo ser Eliminado")
Rollback Using SQLCA;
End If
Botn salir, evento clicked
Close( Parent)
Recuerda que el cdigo tiene que ser clave primaria y tiene que autogenerarce: