Trucos PowerBuilder

Páginas: 12 (2936 palabras) Publicado: 14 de mayo de 2014
Aumentar o disminuir las columnas en un objeto datawindow tipo N-UP ya creado
1º Estando en el painter Library y sobre la el objeto datawindow n-up, pulsar boton derecho del ratón y export, nos generara un fichero
.srd.
2º Abrir el fichero exportado con 'Edit'
3º Modificar el valor de 'X' donde pone rows_per_detail = X por el valor deseado.
4º Grabar los cambios.
5º Estando en el painterLibrary y sobre la .pbl, pulsar botón derecho import... para importar el fichero .psr guardado.
6º Abrir el objeto datawindow.
7º Insertar una columna, al pedirnos el row in detail, ya podremos seleccionar un numero de columna de rango 1 a 'X'.
En el caso de haber disminuido el valor 'X' se deberan borrar las columnas superiores.

Manipular un DDDW 'Abrir/cerrar' desde Powerscrips
// Declararla función externa
SUBROUTINE keybd_event( int bVk, int bScan, int dwFlags, int dwExtraInfo) LIBRARY "user32.dll"
// en powerscript ('Codigo por ejemplo en cb_1 y cb_2')
//Abrir DDDW
constant integer VK_F4 = 115
dw_1.SetFocus()
dw_1.SetColumn( "Columna_DDDW" ) // DDDW
keybd_event( VK_F4,0,0,0 ) // F4 key down
//Cerrar DDDW
constant integer VK_F4 = 115
dw_1.SetFocus()
dw_1.SetColumn("Columna_DDDW" ) // DDDW
keybd_event( VK_F4,0,2,0 ) // F4 key up

Implementar al cerrar una ventana la pregunta ¿Actualiza Sus Cambios?
A menudo los usuarios se quejan que el sistema no es amistoso. Un problema frecuente es el abandono de una ventana cuando no se
han realizado las actualizaciones en la base de datos. El usuario esperaría que el sistema le hiciera la típica pregunta "¿ActualizaSus
Cambios?" "SI","NO","CANCEL", en PowerBuilder esto es muy fácil de implementar.
En el evento Closequery de la ventana en que esta contenida la datawindow, debemos escribir el siguiente código:
//------------------------------------------------------------------------Integer vl_seleccion
// Suponemos dw_1 nombre del datawindow control
// Acepta él último dato ingresado en el datawindowdw_1.AcceptText()
// Verificamos si hay eliminados o modificados
IF dw_1.DeletedCount()+dw_1.ModifiedCount() > 0 THEN
//Preguntamos al usuario la acción a seguir
vl_seleccion = MessageBox("Cerrando", "¿Actualiza Sus Cambios?", Question!,YesNoCancel!,3)
//Evaluamos el resultado
CHOOSE CASE vl_seleccion
CASE 1 // Actualiza y Cierra
dw_1.update()
CASE 2 // No Actualiza y Cierra
CASE 3 // NoActualiza y No Cierra
Return 1 // Detiene el cierre de la ventana
END CHOOSE
End if

Eliminar todas las filas de una datawindow
dw_1.rowsmove(1,dw_1.rowcount(),primary!,dw_1,1,delete!)
Insertar filas automáticamente con la tecla ENTER
Declarar en la datawindows dw_1 un user event por ejemplo: event name 'key' y evet ID llamado
'pbm_dwnkey', en este nuevo evento introduce el siguientecodigo:
if KeyDown(KeyEnter!) and getrow()=rowcount() then
insertrow(rowcount() + 1)
end if
//esto hara que si estas en la ultima linea de la datawindows y pulsas enter, te añada un registro.

Imprimir a fichero una DataWindow
dw_1.Object.DataWindow.Print.Filename = 'fichero.prn'
dw_1.Print()

Encontrar el numero de filas seleccionadas
Puedes usar la notación dot para encontrar las filasseleccioandas de una datawindow sin tener que hacer un
bucle para recorrerlas todas.
También se puede utilizar para saber el numero de filas que se han selecionado mirando el tamaño del array.
Long ll_count
Long ll_customer_id[]
// Get each of the selected
ll_customer_id = dw_customers.Object.customer_id.Current.Selected
// Find the number of selected items by finding the size of the arrayll_count = upperBound(ll_customer_id)
Rotar el texto de una datawindow
Puedes rotar el texto de una datawindow colocando la expresión del dw object
Font.escapement
Coge los angulo en décimas de grado, es decir, 450 son 45 grados
El resultado solo se verá en ejecución.
Cambiar el color alternativamente en las filas de una datawindow
Para que las filas de una datawindow tengan el aspecto de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Powerbuilder
  • Manual De powerbuilDer
  • truco
  • truco
  • Trucos
  • TRUCOS
  • Trucos
  • Trucos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS