In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

TArrayBrowse

Foro público de Xailer en español
Responder
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

TArrayBrowse

Mensaje por perolero »

Tengo un problema con el ArrayBrowse muy curioso: defino tres botones: el de añadir linea, editar y borrar lí­nea de este modo:
METHOD AddLinea(oSender) CLASS TFormTpv
WITH OBJECT ::oMatriz
:AddRow({space(12), space(40), 0, 0,0, space(10), space(1)})
:Refresh(.T.)
:GoBottom()
:SetFocus()
:edit()
END WITH
Return Nil
//---------------------------------------------------------- --------------------
METHOD EditarLinea(oSender) CLASS TFormTpv
::oMatriz:SetFocus()
::oMatriz:Edit()
Return Nil
//---------------------------------------------------------- --------------------
METHOD BorrarLinea(oSender) CLASS TFormTpv
::oMatriz:DelRow()
::oMatriz:SetFocus()
Return Nil
y la cosa funciona de categorí­a, pero lo que quiero es que en el OnExit de la última columna del browse llamar al metodo AddLinea() para que al salir de la última columna crea una fila nueva y entre en edición, pero solo consigo que creee una fila nueva pero no entra en edición, por lo que me toca hacer lo siguiente:
En el Onexit de la ultima columna hago un setfocus() al botón de añadir y al pulsar intro ya lo hace correctamente. No se si me explico, pero me gustarí­a saber como hacerlo para poder dar la orden en el OnExit de la última columna y que funcione como yo quiero.
Saludos y gracias.
Emilio Gil.
Ariel

TArrayBrowse

Mensaje por Ariel »

Hola,
Me pasa lo mismo, y en un proceso de ventas, es FUNDAMENTAL esta opcion.
Gracias.
Salu2.
"Emilio Gil" <emilio-gil[at]hotmail[dot]com> escribió en el mensaje
news:4d5d53bc$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Tengo un problema con el ArrayBrowse muy curioso: defino
> tres botones: el de añadir linea, editar y borrar línea de
> este modo:
>
> METHOD AddLinea(oSender) CLASS TFormTpv
>
> WITH OBJECT ::oMatriz
> :AddRow({space(12), space(40), 0, 0,0, space(10),
> space(1)})
> :Refresh(.T.)
> :GoBottom()
> :SetFocus()
> :edit()
> END WITH
>
> Return Nil
>
> //----------------------------------------------------------
> --------------------
>
> METHOD EditarLinea(oSender) CLASS TFormTpv
>
> ::oMatriz:SetFocus()
> ::oMatriz:Edit()
>
> Return Nil
>
> //----------------------------------------------------------
> --------------------
>
> METHOD BorrarLinea(oSender) CLASS TFormTpv
>
> ::oMatriz:DelRow()
> ::oMatriz:SetFocus()
>
> Return Nil
>
> y la cosa funciona de categoría, pero lo que quiero es que
> en el OnExit de la última columna del browse llamar al
> metodo AddLinea() para que al salir de la última columna
> crea una fila nueva y entre en edición, pero solo consigo
> que creee una fila nueva pero no entra en edición, por lo
> que me toca hacer lo siguiente:
>
> En el Onexit de la ultima columna hago un setfocus() al
> botón de añadir y al pulsar intro ya lo hace
> correctamente. No se si me explico, pero me gustaría saber
> como hacerlo para poder dar la orden en el OnExit de la
> última columna y que funcione como yo quiero.
>
> Saludos y gracias.
>
> Emilio Gil.
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

TArrayBrowse

Mensaje por Xevi »

Emilio,
En el OnExit de la última columna puedes simular la pulsación del botón...
::oBoton:PostMsg( WM_KEYDOWN, VK_RETURN )
Un Saludo,
Xevi.
"Emilio Gil" <emilio-gil[at]hotmail[dot]com> ha escrit al
missatge:4d5d53bc$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Tengo un problema con el ArrayBrowse muy curioso: defino
> tres botones: el de añadir linea, editar y borrar lí­nea de
> este modo:
>
> METHOD AddLinea(oSender) CLASS TFormTpv
>
> WITH OBJECT ::oMatriz
> :AddRow({space(12), space(40), 0, 0,0, space(10),
> space(1)})
> :Refresh(.T.)
> :GoBottom()
> :SetFocus()
> :edit()
> END WITH
>
> Return Nil
>
> //----------------------------------------------------------
> --------------------
>
> METHOD EditarLinea(oSender) CLASS TFormTpv
>
> ::oMatriz:SetFocus()
> ::oMatriz:Edit()
>
> Return Nil
>
> //----------------------------------------------------------
> --------------------
>
> METHOD BorrarLinea(oSender) CLASS TFormTpv
>
> ::oMatriz:DelRow()
> ::oMatriz:SetFocus()
>
> Return Nil
>
> y la cosa funciona de categorí­a, pero lo que quiero es que
> en el OnExit de la última columna del browse llamar al
> metodo AddLinea() para que al salir de la última columna
> crea una fila nueva y entre en edición, pero solo consigo
> que creee una fila nueva pero no entra en edición, por lo
> que me toca hacer lo siguiente:
>
> En el Onexit de la ultima columna hago un setfocus() al
> botón de añadir y al pulsar intro ya lo hace
> correctamente. No se si me explico, pero me gustarí­a saber
> como hacerlo para poder dar la orden en el OnExit de la
> última columna y que funcione como yo quiero.
>
> Saludos y gracias.
>
> Emilio Gil.
>
>
> __________ Informaci�n de ESET NOD32 Antivirus, versi�n de la base de
> firmas de virus 5883 (20110217) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5885 (20110218) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
Ariel

TArrayBrowse

Mensaje por Ariel »

Xevi,
Yo no uso un botton sino una barra (TToolbar) para agregar los items, pero
no puedo mandarle el PostMsg(), o como seria ?
Gracias.
Ariel
"Xevi" <xevicomas_quitar_esto@gmail.com> escribió en el mensaje
news:4d5e8736$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Emilio,
>
> En el OnExit de la última columna puedes simular la pulsación del botón...
> ::oBoton:PostMsg( WM_KEYDOWN, VK_RETURN )
>
> Un Saludo,
> Xevi.
>
>
> "Emilio Gil" <emilio-gil[at]hotmail[dot]com> ha escrit al
> missatge:4d5d53bc$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Tengo un problema con el ArrayBrowse muy curioso: defino
>> tres botones: el de añadir linea, editar y borrar línea de
>> este modo:
>>
>> METHOD AddLinea(oSender) CLASS TFormTpv
>>
>> WITH OBJECT ::oMatriz
>> :AddRow({space(12), space(40), 0, 0,0, space(10),
>> space(1)})
>> :Refresh(.T.)
>> :GoBottom()
>> :SetFocus()
>> :edit()
>> END WITH
>>
>> Return Nil
>>
>> //----------------------------------------------------------
>> --------------------
>>
>> METHOD EditarLinea(oSender) CLASS TFormTpv
>>
>> ::oMatriz:SetFocus()
>> ::oMatriz:Edit()
>>
>> Return Nil
>>
>> //----------------------------------------------------------
>> --------------------
>>
>> METHOD BorrarLinea(oSender) CLASS TFormTpv
>>
>> ::oMatriz:DelRow()
>> ::oMatriz:SetFocus()
>>
>> Return Nil
>>
>> y la cosa funciona de categoría, pero lo que quiero es que
>> en el OnExit de la última columna del browse llamar al
>> metodo AddLinea() para que al salir de la última columna
>> crea una fila nueva y entre en edición, pero solo consigo
>> que creee una fila nueva pero no entra en edición, por lo
>> que me toca hacer lo siguiente:
>>
>> En el Onexit de la ultima columna hago un setfocus() al
>> botón de añadir y al pulsar intro ya lo hace
>> correctamente. No se si me explico, pero me gustaría saber
>> como hacerlo para poder dar la orden en el OnExit de la
>> última columna y que funcione como yo quiero.
>>
>> Saludos y gracias.
>>
>> Emilio Gil.
>>
>>
>> __________ Informaci?n de ESET NOD32 Antivirus, versi?n de la base de
>> firmas de virus 5883 (20110217) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>> http://www.eset.com
>>
>>
>>
>
> __________ Informacin de ESET NOD32 Antivirus, versin de la base de firmas
> de virus 5885 (20110218) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
perolero
Mensajes: 135
Registrado: Mar Dic 21, 2010 9:54 am

TArrayBrowse

Mensaje por perolero »

Muchí­simas gracias Xevi, no sabes la de problemas que me has quitado de encima. Un abrazo.
Emilio Gil.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

TArrayBrowse

Mensaje por Xevi »

Ariel,
pues serí­a lo mismo, sólo que debes de poner un identificativo a cVarName
del botón de la ToolBar.
Un Saludo,
Xevi.
"Ariel" <arielcagiao@arnet.com.ar> ha escrit al
missatge:4d5e9237$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Xevi,
> Yo no uso un botton sino una barra (TToolbar) para agregar los items, pero
> no puedo mandarle el PostMsg(), o como seria ?
> Gracias.
> Ariel
>
>
> "Xevi" <xevicomas_quitar_esto@gmail.com> escribió en el mensaje
> news:4d5e8736$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Emilio,
>>
>> En el OnExit de la última columna puedes simular la pulsación del
>> botón...
>> ::oBoton:PostMsg( WM_KEYDOWN, VK_RETURN )
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Emilio Gil" <emilio-gil[at]hotmail[dot]com> ha escrit al
>> missatge:4d5d53bc$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>> Tengo un problema con el ArrayBrowse muy curioso: defino
>>> tres botones: el de añadir linea, editar y borrar lí­nea de
>>> este modo:
>>>
>>> METHOD AddLinea(oSender) CLASS TFormTpv
>>>
>>> WITH OBJECT ::oMatriz
>>> :AddRow({space(12), space(40), 0, 0,0, space(10),
>>> space(1)})
>>> :Refresh(.T.)
>>> :GoBottom()
>>> :SetFocus()
>>> :edit()
>>> END WITH
>>>
>>> Return Nil
>>>
>>> //----------------------------------------------------------
>>> --------------------
>>>
>>> METHOD EditarLinea(oSender) CLASS TFormTpv
>>>
>>> ::oMatriz:SetFocus()
>>> ::oMatriz:Edit()
>>>
>>> Return Nil
>>>
>>> //----------------------------------------------------------
>>> --------------------
>>>
>>> METHOD BorrarLinea(oSender) CLASS TFormTpv
>>>
>>> ::oMatriz:DelRow()
>>> ::oMatriz:SetFocus()
>>>
>>> Return Nil
>>>
>>> y la cosa funciona de categorí­a, pero lo que quiero es que
>>> en el OnExit de la última columna del browse llamar al
>>> metodo AddLinea() para que al salir de la última columna
>>> crea una fila nueva y entre en edición, pero solo consigo
>>> que creee una fila nueva pero no entra en edición, por lo
>>> que me toca hacer lo siguiente:
>>>
>>> En el Onexit de la ultima columna hago un setfocus() al
>>> botón de añadir y al pulsar intro ya lo hace
>>> correctamente. No se si me explico, pero me gustarí­a saber
>>> como hacerlo para poder dar la orden en el OnExit de la
>>> última columna y que funcione como yo quiero.
>>>
>>> Saludos y gracias.
>>>
>>> Emilio Gil.
>>>
>>>
>>> __________ Informaci?n de ESET NOD32 Antivirus, versi?n de la base de
>>> firmas de virus 5883 (20110217) __________
>>>
>>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>>
>>> http://www.eset.com
>>>
>>>
>>>
>>
>> __________ Informacin de ESET NOD32 Antivirus, versin de la base de
>> firmas de virus 5885 (20110218) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>> http://www.eset.com
>>
>>
>>
>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 5886 (20110218) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5886 (20110218) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

TArrayBrowse

Mensaje por Xevi »

Emilio,
Me alegro que sea lo que necesitabas.
Verás que le vas a dar mucha funcionalidad a PostMsg() y te va a sacar de
mas de un apuro... a mi me a servido en todas las ocasiones que le he
necesitado ;-)
Un Saludo,
Xevi.
"Emilio Gil" <emilio-gil[at]hotmail[dot]com> ha escrit al
missatge:4d5ea03a$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Muchí­simas gracias Xevi, no sabes la de problemas que me
> has quitado de encima. Un abrazo.
>
> Emilio Gil.
>
>
> __________ Informaci�n de ESET NOD32 Antivirus, versi�n de la base de
> firmas de virus 5886 (20110218) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5886 (20110218) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
Responder