Alguien me podría facilitar un pequeño ejemplo de edición de
ArrayBrowse en el que al pulsar Tab/Intro la edición pase a la siguiente
columna y que al llegar a la ultima columna esta misma acción situe el
foco en la primera columna de la siguiente fila.
Anticipadamente gracias,
Emilio Gil.
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.
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.
ArrayBrowse en Edición
-
- Mensajes: 16
- Registrado: Jue Abr 06, 2006 6:22 pm
-
- Mensajes: 620
- Registrado: Jue Mar 23, 2006 2:39 am
ArrayBrowse en Edición
emilio:
Y lo hago así, en el evento postedit de cada columna:
WITH OBJECT ::oArrayBrowse1
:SetArray(::aMovs,{"Cuenta","Concepto","Debe","Haber"})
WITH OBJECT :aCols[1]
:cPicture := "@R 9999-9999-9999-9999"
:nWidth := 120
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGet
:OnPostEdit := {|oSender,xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] := xValue,;
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] :=
::ChkCuenta(xValue),;
IIF(::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] <>
"0000000000000000" ,::oArrayBrowse1:GoRight(),::oArrayBrowse1:aCols[1]:Edit())}
END
WITH OBJECT :aCols[2]
:cPicture := REPLICATE("!",30)
:cFooter := "Sumas Iguales:"
:nWidth := 230
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGET
:OnEdit := {|oSender,xValue| xValue :=
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] }
:OnPostEdit := {|oSender, xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] :=
xValue,::oArrayBrowse1:GoRight()}
END
WITH OBJECT :aCols[3]
:cPicture := "999,999,999.99"
:nWidth := 95
:cFooter := TRANSFORM(::aMovs[1,3],"999,999,999.99")
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGET
:OnPostEdit := {|oSender, xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,3]:= xValue ,
::oArrayBrowse1:GoRight()}
END
WITH OBJECT :aCols[4]
:cPicture := "999,999,999.99"
:cFooter := TRANSFORM(::aMovs[1,4],"999,999,999.99")
:nWidth := 95
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGET
:OnPostEdit := {|oSender,xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,4] := xValue,;
IIF(::oArrayBrowse1:nArrayAt
==
LEN(::oArrayBrowse1:aArrayData),(::InsertRiow(::oArrayBrowse 1)),(::oArrayBrowse1:GoDown(),::oArrayBrowse1:GoLeftMost())) }
END
WITH OBJECT :aCols[5]
:lVisible := .F.
END
END WITH
Saludos
Rene Flores
http://www.ciber-tec.com
gil escribió:
> Alguien me podría facilitar un pequeño ejemplo de edición de
> ArrayBrowse en el que al pulsar Tab/Intro la edición pase a la siguiente
> columna y que al llegar a la ultima columna esta misma acción situe el
> foco en la primera columna de la siguiente fila.
>
> Anticipadamente gracias,
> Emilio Gil.
>
Y lo hago así, en el evento postedit de cada columna:
WITH OBJECT ::oArrayBrowse1
:SetArray(::aMovs,{"Cuenta","Concepto","Debe","Haber"})
WITH OBJECT :aCols[1]
:cPicture := "@R 9999-9999-9999-9999"
:nWidth := 120
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGet
:OnPostEdit := {|oSender,xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] := xValue,;
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] :=
::ChkCuenta(xValue),;
IIF(::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] <>
"0000000000000000" ,::oArrayBrowse1:GoRight(),::oArrayBrowse1:aCols[1]:Edit())}
END
WITH OBJECT :aCols[2]
:cPicture := REPLICATE("!",30)
:cFooter := "Sumas Iguales:"
:nWidth := 230
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGET
:OnEdit := {|oSender,xValue| xValue :=
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] }
:OnPostEdit := {|oSender, xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] :=
xValue,::oArrayBrowse1:GoRight()}
END
WITH OBJECT :aCols[3]
:cPicture := "999,999,999.99"
:nWidth := 95
:cFooter := TRANSFORM(::aMovs[1,3],"999,999,999.99")
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGET
:OnPostEdit := {|oSender, xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,3]:= xValue ,
::oArrayBrowse1:GoRight()}
END
WITH OBJECT :aCols[4]
:cPicture := "999,999,999.99"
:cFooter := TRANSFORM(::aMovs[1,4],"999,999,999.99")
:nWidth := 95
:OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166)) ,.T.}
:nEditType := beGET
:OnPostEdit := {|oSender,xValue|
::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,4] := xValue,;
IIF(::oArrayBrowse1:nArrayAt
==
LEN(::oArrayBrowse1:aArrayData),(::InsertRiow(::oArrayBrowse 1)),(::oArrayBrowse1:GoDown(),::oArrayBrowse1:GoLeftMost())) }
END
WITH OBJECT :aCols[5]
:lVisible := .F.
END
END WITH
Saludos
Rene Flores
http://www.ciber-tec.com
gil escribió:
> Alguien me podría facilitar un pequeño ejemplo de edición de
> ArrayBrowse en el que al pulsar Tab/Intro la edición pase a la siguiente
> columna y que al llegar a la ultima columna esta misma acción situe el
> foco en la primera columna de la siguiente fila.
>
> Anticipadamente gracias,
> Emilio Gil.
>
-
- Mensajes: 16
- Registrado: Jue Abr 06, 2006 6:22 pm
ArrayBrowse en Edición
Muchas gracias amigo René, esto era lo que buscaba, imaginaba que se
hacía de esta forma , valiendose del OnPosEdit e indicándole que saltara
a la siguiente columna, pero como en otros browses que he utilizado con
FiveWin (como el de M.Mercado o el propio Grid de CanalFive) la cosa era
mucho más sencilla, pues pensaba que me estaba complicando la vida y que
habría alguna forma mas elegante de hacerlo.
Abrazos, amigo.
1000y1.
Rene Flores escribió:
> emilio:
>
> Y lo hago así, en el evento postedit de cada columna:
>
> WITH OBJECT ::oArrayBrowse1
> :SetArray(::aMovs,{"Cuenta","Concepto","Debe","Haber"})
> WITH OBJECT :aCols[1]
> :cPicture := "@R 9999-9999-9999-9999"
> :nWidth := 120
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGet
> :OnPostEdit := {|oSender,xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] := xValue,;
>
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] :=
> ::ChkCuenta(xValue),;
>
> IIF(::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] <>
> "0000000000000000" ,::oArrayBrowse1:GoRight(),::oArrayBrowse1:aCols[1]:Edit())}
>
> END
> WITH OBJECT :aCols[2]
> :cPicture := REPLICATE("!",30)
> :cFooter := "Sumas Iguales:"
> :nWidth := 230
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGET
> :OnEdit := {|oSender,xValue| xValue :=
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] }
> :OnPostEdit := {|oSender, xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] :=
> xValue,::oArrayBrowse1:GoRight()}
> END
> WITH OBJECT :aCols[3]
> :cPicture := "999,999,999.99"
> :nWidth := 95
> :cFooter := TRANSFORM(::aMovs[1,3],"999,999,999.99")
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGET
> :OnPostEdit := {|oSender, xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,3]:= xValue ,
> ::oArrayBrowse1:GoRight()}
> END
> WITH OBJECT :aCols[4]
> :cPicture := "999,999,999.99"
> :cFooter := TRANSFORM(::aMovs[1,4],"999,999,999.99")
> :nWidth := 95
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGET
> :OnPostEdit := {|oSender,xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,4] := xValue,;
> IIF(::oArrayBrowse1:nArrayAt
> ==
> LEN(::oArrayBrowse1:aArrayData),(::InsertRiow(::oArrayBrowse 1)),(::oArrayBrowse1:GoDown(),::oArrayBrowse1:GoLeftMost())) }
>
> END
> WITH OBJECT :aCols[5]
> :lVisible := .F.
> END
> END WITH
>
> Saludos
>
> Rene Flores
> http://www.ciber-tec.com
>
> gil escribió:
>
>> Alguien me podría facilitar un pequeño ejemplo de edición de
>> ArrayBrowse en el que al pulsar Tab/Intro la edición pase a la
>> siguiente columna y que al llegar a la ultima columna esta misma
>> acción situe el foco en la primera columna de la siguiente fila.
>>
>> Anticipadamente gracias,
>> Emilio Gil.
>>
>
hacía de esta forma , valiendose del OnPosEdit e indicándole que saltara
a la siguiente columna, pero como en otros browses que he utilizado con
FiveWin (como el de M.Mercado o el propio Grid de CanalFive) la cosa era
mucho más sencilla, pues pensaba que me estaba complicando la vida y que
habría alguna forma mas elegante de hacerlo.
Abrazos, amigo.
1000y1.
Rene Flores escribió:
> emilio:
>
> Y lo hago así, en el evento postedit de cada columna:
>
> WITH OBJECT ::oArrayBrowse1
> :SetArray(::aMovs,{"Cuenta","Concepto","Debe","Haber"})
> WITH OBJECT :aCols[1]
> :cPicture := "@R 9999-9999-9999-9999"
> :nWidth := 120
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGet
> :OnPostEdit := {|oSender,xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] := xValue,;
>
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] :=
> ::ChkCuenta(xValue),;
>
> IIF(::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,1] <>
> "0000000000000000" ,::oArrayBrowse1:GoRight(),::oArrayBrowse1:aCols[1]:Edit())}
>
> END
> WITH OBJECT :aCols[2]
> :cPicture := REPLICATE("!",30)
> :cFooter := "Sumas Iguales:"
> :nWidth := 230
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGET
> :OnEdit := {|oSender,xValue| xValue :=
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] }
> :OnPostEdit := {|oSender, xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,5] :=
> xValue,::oArrayBrowse1:GoRight()}
> END
> WITH OBJECT :aCols[3]
> :cPicture := "999,999,999.99"
> :nWidth := 95
> :cFooter := TRANSFORM(::aMovs[1,3],"999,999,999.99")
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGET
> :OnPostEdit := {|oSender, xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,3]:= xValue ,
> ::oArrayBrowse1:GoRight()}
> END
> WITH OBJECT :aCols[4]
> :cPicture := "999,999,999.99"
> :cFooter := TRANSFORM(::aMovs[1,4],"999,999,999.99")
> :nWidth := 95
> :OnDrawCell := {|oSender,cText, nClrText,nClrPane| nClrPane :=
> IIF(oSender:oParent:nArrayAt%2 == 0,RGB(254,241,171),RGB(251,255,166))
> ,.T.}
> :nEditType := beGET
> :OnPostEdit := {|oSender,xValue|
> ::oArrayBrowse1:aArrayData[::oArrayBrowse1:nArrayAt,4] := xValue,;
> IIF(::oArrayBrowse1:nArrayAt
> ==
> LEN(::oArrayBrowse1:aArrayData),(::InsertRiow(::oArrayBrowse 1)),(::oArrayBrowse1:GoDown(),::oArrayBrowse1:GoLeftMost())) }
>
> END
> WITH OBJECT :aCols[5]
> :lVisible := .F.
> END
> END WITH
>
> Saludos
>
> Rene Flores
> http://www.ciber-tec.com
>
> gil escribió:
>
>> Alguien me podría facilitar un pequeño ejemplo de edición de
>> ArrayBrowse en el que al pulsar Tab/Intro la edición pase a la
>> siguiente columna y que al llegar a la ultima columna esta misma
>> acción situe el foco en la primera columna de la siguiente fila.
>>
>> Anticipadamente gracias,
>> Emilio Gil.
>>
>