Programación General > Power Builder
Problema Con Datawindows Desplegables
(1/1)
Anonymous:
Pues bien, estoy terminando una aplicacion siguiendo un manual en power builder 6.
Ya esta todo creado, cuando inserto datos los almacena bien y cuando hay mas de 1, dandole a la rueda del raton van pasando y mostrandolos en la ventana.
Bien, el siguiente paso es hacer un desplegable en el campo de la clave primaria para que te salgan todo lo añadido y pinchar y q muestre todos sus campos. Pues bien mi problema es que consegui que saliera cuando le doy al desplegable las fichas que haya, pincho en una y solo se pone el campo de la clave primaria, el resto no se añade.
Total que no consigo hacerlo bien.
Tengo creado el Datawindow y lo referencio dentro de la ventana.
Luego cree un d_ddw_ para el desplegable poniendo lo q indica el manual. Que es solo la fila que no interese, en este caso el nombre.
Cambio el ItemChanged como indica y el d_principal referencio el d_ddw.
Consigo con esto lo siquiete: Que muestre los nombre de todo lo insertado y cuando le doy a 1. siempre me muestra el primer nombre y sus valores rellenados en las columnas.
Intento insertar uno nuevo y nada, sale el primero.
Tambien tengo un problema con la funcion of_ask_to_save y tuve que modificar el itemChanged asi:
--- Código: Text ---if is_retrieve_column = '' then MessageBox ('Retrieve Column Not Set', & 'The column needed to generate a new retrieve' + & 'has not been set in ' + & 'Constructor event of the Datawindows ' + & this. dataobject) elseif dwo.name = this.is_retrieve_column then // if this . of_ask_to_save() < 0 then // Return 2 //else this . il_primary_key = long(data) This . Post Event ue_retrieve() // end ifend ifib_items_changed = TRUE
il_primary lo defino donde dice y supongo que el problema sera en esta funcion. Uno de ellos, algo hare mal pero no se el que!!!
La funcion ask_... dice esto y la defino en el u_dw_base, aqui me da el error: en la linea 15 que es: li_rc = this . event ue_update() Y dice en ingles que la funcion no retorna el valor indicado en la expresion esa.
El ue_update tiene lo que decia el manual q si es importante lo pongo. Pero actualizar mi aplicacion actualiza oeso creo
--- Código: Text ---//int li_answer//int li_rc//If ib_items_changed then// If (ModifiedCount() > 0 or DeletedCount() > 0 ) Then// li_answer = Messagebox("You´re about to lose your changes!", &// "You have made unsaved changes. " & // + "Would you like to save now before proceding?", &// StopSign!, YesNoCancel!,1)// End IF// Choose Case li_answer// Case 1// li_rc = this . event ue_update()// if li_rc < 0 then// Return -1// end if// this . ib_items_changed = false// Case 2// this.reselectrow(this . getrow())// this . ib_items_changed = false// Return 0// Case 3// Return -1// End Choose//End if//Return 0
Si alguien me pudiera ayudar a hacer esto bien se lo agradeceria.
Es para que de una mejor impresion, pq sin el desplegable lo que hace es con la rueda del raton te va mostrando y rellenando todos los campos de lo que haya insertado. Pero es mas cutre creo yo... Pq si tienes 100 entrada sy tienes q ir a la ultima tendras que pasar el raton hasta el final en ve de salir el desplegable y poder escogerla facilmente.
saludos
pierpiter:
Cuando pones un campo como dddw como Style Edit, te aparece para asignar una datawindow para ese campo. Cuando seleccionas la dw te habilita dos campos, el Display Column y el Data Column. Chequeate esos valores, que el valor Data Column coincida con el tipo de dato del campo (el Display Column es el valor que vas a mostrar cuando se despliega la dw).
Saludos.
Anonymous:
Hola, eso estaba asi. Te explico como lo tengo.
Yo tengo un d_album con los campos: nombre, tipo, codificacion.
Luego creo un d_ddw_album y solo le pongo el campo nombre_album que es por el que queremos mostrar. El style se lo dejo en edit por defecto.
En el d_album pongo estyle dw y en display y data columns pongo el campo nombre_album en ambos iguales y en DataWindow escogo el d_ddw para el desplegable.
Con esto, sale el desplegable, escojo las opciones que quiero y me las muestra rellenando los demas campos pero no me deja añadir nuevos campos.
Cada ve que escribo algo en el campo nombre y paso al siguiente me muestra el primer campo y rellena todos sus datos. Vamos que el problema debe ser muy simple pero no lo veo...
Si se te ocurre algo que puede fallar...
un saludo y gracias por tu ayuda
Navegación
Ir a la versión completa