Power Builder - Insertar nuevo registro(algo muy facil)

 
Vista:

Insertar nuevo registro(algo muy facil)

Publicado por novato (16 intervenciones) el 12/10/2006 18:24:24
hola a todos tengo el sgt problema tengo una ventana con un grid y boton nuevo
pero al momento de darle click en nuevo varios veces me sigue insertando registros
como hago para q al darle click de nuevo el boton nuevo no me permita ingresar un nuevo registro con un mensaje o deshabilitando el boton
Muchas gracias

long ll_newrow
//dw_response.modify("datawindow.readonly=no")
ll_newrow = dw_1.insertrow(0)
ls_codigo =parametros.getitemstring(1,"ultimocodprod")
dw_1.scrolltorow(ll_newrow)
ls_codigo =right( '00000'+ string( long( ls_codigo ) + 1), 5)
dw_1.setItem(ll_newrow,"produc_codi",ls_codigo)
dw_1.scrolltorow(ll_newrow)
dw_1.setcolumn(2)
dw_1.setfocus()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Insertar nuevo registro(algo muy facil)

Publicado por Samuel Acosta (13 intervenciones) el 12/10/2006 19:26:55
Lo que puedes hacer es RESETEAR primero tu DataWindow y luego insertar el nuevo registro ó fila.

// Esto pones en el evento constructor de tu DataWindow.

SetTransObject(SQLCA)
Retrieve()

// --> Esto pones en el boton nuevo.
// --> Declaras la siguientes variables locales (Boton Nuevo)

long ll_nuevo, ll_ultimo
ll_ultimo = dw_1.RowCount() + 1

dw_1.Reset() // --> Reseteas tu DataWindow.

dw_1.SetTransObject(SQLCA) // --> Recuperas la conección.

// --> Insertas el nuevo registro ó fila.

ll_nuevo = dw_1.InsertRow(0)
dw_1.ScrollToRow(ll_nuevo)

dw_1.SetItem(1,1,String(il_ultimo, 'C00000'))
dw_1.AcceptText()

MessageBox('Mensaje', 'Se insertó un registro ó fila exitosamente !')

* Bueno espero que te sirva de algo de ayuda mi idea. .. Saludos desde Perú.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar nuevo registro(algo muy facil)

Publicado por Samuel Acosta (13 intervenciones) el 12/10/2006 20:19:46
.. Se me olvido que despues de declarar las variables locales del boton nuevo pongas el siguiente codigo:

// --> despues de declarar variables locales.
dw_1.TriggerEvent(Constructor!)
// --> Antes de del ll_ultimo = dw_1.RowCount() + 1

Se me ocurre que tambien puedes hacer lo mismo pero sin resetar tu DataWindow, osea que puedas insertar sin borrar los datos de tu DW.

// --> Esto pones en el evento constructor de tu DataWindow.
SetTransObject(SQLCA)
Retrieve()

// --> Esto pones en el boton nuevo.
// --> Declaras la siguientes variables locales (Boton Nuevo)

Long ll_nuevo, ll_ultimo

dw_1.TriggerEvent(Constructor!)

ll_ultimo = dw_1.RowCount() + 1

// --> Insertas el nuevo registro ó fila.

ll_nuevo = dw_1.InsertRow(0)
dw_1.ScrollToRow(ll_nuevo)

dw_1.SetItem(1,1,String(il_ultimo, 'C00000'))
dw_1.AcceptText()

MessageBox('Mensaje', 'Se insertó un registro ó fila exitosamente !')

Lo que haces es cada ves que presiones el boton nuevo haga un Retrieve y restaure las filas actuales de tu DW antes de insertar un nuevo registro.

* Bueno espero que te sirva de algo de ayuda mi idea. .. Saludos desde Perú.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar