Quiero Insertar un registro en DDDW en tiempo de ejecución

Tengo un favor que pedirte, ¿mira estoy haciendo una mantenimiento en una datawindow ok?, el tema es que por ejemplo tengo una dropdowndatawindows child que me trae por ejemplo "nombres de personal", pero resulta que cuando busco a un persona en particular y no lo encuentro, deseo hacer el mantenimiento allí mismo (Ingresar a ese personal), en la misma dropdowndatawindows, que el cursor se vaya al final de la dddw y que pueda insertarle los datos para grabarlo en la tabla correspondiente (Personal) y que me permita elegirlo en esa dddw child para que se pegue en el campo de la DW de mantenimiento también sin necesidad de refrescarlo.

Intente esto en la DW para controlar las columnas sobre las que hago el cambio:

Bueno, intente hacerlo en el EVENTO ITEMCHANGED y mi pregunta también es, ¿si es el evento apropiado para poder hacerle la consulta al mismo campo las veces que el usuario quiera?

STRING ls_dni_fpub

INTEGER li_child

Choose Case dwo.name

Case 'ceabgd'

ls_dwo_name = dwo.name

ls_dni_fpub = This.getitemString(This.getrow(), "ceabgd")

// (Agregar Nuevo) es un valor de la tabla a la que hace referencia la dddw para que cuando se haga click en esa row inserte un registro nuevo en la dddw

IF ls_dni_fpub = "(Agregar Nuevo)" Then

      datawindowchild   dddw

      dddw.getchild('ceabgd',dddw)

      dddw.settransobject(sqlca)

       li_child = dddw.InsertRow(0)

       messagebox("ROW", string(li_child))

       dddw.ScrollToRow(li_child)

END IF

END CHOOSE

Pero tengo el error principal de que li_child es igual a -1 (Error).

Gracias por el apoyo

1 Respuesta

Respuesta
1

Te recomiendo que agregues un botón el cual abra una un window tipo responde en cual

Registras al personal y al guardar capturas el código y lo envías a tu window principal,

Luego haces

Datawindowchild dddw

      dddw. Getchild('ceabgd', dddw)

      dddw. Settransobject(sqlca)

Dddw. Retrieve()

Y asignas al campo el el valor capturado

Todo es en el botón donde invocas al window

¡Gracias! Cesar Otiniano, yo había previsto una solución similar, lo que pasa es que el cliente no desea ir a una ventana de tipo responde, cuando aduce que otros sistemas tienen la opción sobre el mismo campo desplegable que al darle click en (Nuevo) o (Agregar), se coloca al final del mismo desplegable y adiciona el nuevo registro. ¿Si no existe el modo de hacerlo pues ni modo no?

Hice esto...

datawindowchild dddw
This.getchild("ceabgd", dddw)
dddw.settransobject(sqlca)
li_child = dddw.InsertRow(0)

Y SI inserta el nuevo registro pero:

1. No lo scrolea (No se despliega) y se ubica en el nuevo registro

2. Tampoco permite que se adicione nada a pesar de que el objeto datawinbdow asociado a esa child si permite con tab order activados y rows update que se le agregue registros.

Si tienes una solución para esto te lo voy a agradecer.

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas