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:
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 if
end if
ib_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
//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