Hola,
¿Como puedo ordenar un memdataset por un campo calculado?
En mi caso quisiera hacer lo siguiente. Supongamos la siguente matriz:
aData := { {"100",1,2},{"9023",2,3},{"63",3,2},{"1",9,9} }
Usando un memdataset sería:
oMemDataSet1:open(aData,{"CCODART","CAMPO1","CAMPO2"})
Como se puede observar, todos los campos CCODART son alfanuméricos
alineados a la izquierda. Ese campo necesito alinearlo a la derecha y
con un ancho fijo de 18.
Había pensado en crear un campo calculado tal como sigue:
oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM( a:oDataSet:ccodart),
18," ") }
Y luego ordenarlo con oMemDataSet:Sort( { n } ) donde n es la columna a
ordenar. Pero no se cual número de columna es.
Saludos y gracias,
José Luis Capel
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.
Ordenar un Memdataset por campo calculado
Ordenar un Memdataset por campo calculado
Ups,
> oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM( a:oDataSet:ccodart),
> 18," ") }
oMemDataSet1:AddCalcField("MICAMPO", {|a,b| PADL(ALLTRIM
( ::oDataSet:ccodart), > 18," ") }
> oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM( a:oDataSet:ccodart),
> 18," ") }
oMemDataSet1:AddCalcField("MICAMPO", {|a,b| PADL(ALLTRIM
( ::oDataSet:ccodart), > 18," ") }
- ignacio
- Site Admin
- Mensajes: 9452
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Ordenar un Memdataset por campo calculado
José Luis,
oCol := oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM(
a:oDataSet:ccodart), 18," ") }
oMemDataSet:Sort( { oCol:nIndex } )
Saludos,
"José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=Xns97E2660C0C4CAjoseluiscapelaicom@82.144.6.50...]Xns97E2660C0C4CAjoseluiscapelaicom@82.144.6.50...[/email]
> Hola,
>
> ¿Como puedo ordenar un memdataset por un campo calculado?
>
> En mi caso quisiera hacer lo siguiente. Supongamos la siguente matriz:
>
> aData := { {"100",1,2},{"9023",2,3},{"63",3,2},{"1",9,9} }
>
> Usando un memdataset sería:
>
> oMemDataSet1:open(aData,{"CCODART","CAMPO1","CAMPO2"})
>
> Como se puede observar, todos los campos CCODART son alfanuméricos
> alineados a la izquierda. Ese campo necesito alinearlo a la derecha y
> con un ancho fijo de 18.
>
> Había pensado en crear un campo calculado tal como sigue:
>
> oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM( a:oDataSet:ccodart),
> 18," ") }
>
> Y luego ordenarlo con oMemDataSet:Sort( { n } ) donde n es la columna a
> ordenar. Pero no se cual número de columna es.
>
>
> Saludos y gracias,
> José Luis Capel
oCol := oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM(
a:oDataSet:ccodart), 18," ") }
oMemDataSet:Sort( { oCol:nIndex } )
Saludos,
"José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=Xns97E2660C0C4CAjoseluiscapelaicom@82.144.6.50...]Xns97E2660C0C4CAjoseluiscapelaicom@82.144.6.50...[/email]
> Hola,
>
> ¿Como puedo ordenar un memdataset por un campo calculado?
>
> En mi caso quisiera hacer lo siguiente. Supongamos la siguente matriz:
>
> aData := { {"100",1,2},{"9023",2,3},{"63",3,2},{"1",9,9} }
>
> Usando un memdataset sería:
>
> oMemDataSet1:open(aData,{"CCODART","CAMPO1","CAMPO2"})
>
> Como se puede observar, todos los campos CCODART son alfanuméricos
> alineados a la izquierda. Ese campo necesito alinearlo a la derecha y
> con un ancho fijo de 18.
>
> Había pensado en crear un campo calculado tal como sigue:
>
> oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM( a:oDataSet:ccodart),
> 18," ") }
>
> Y luego ordenarlo con oMemDataSet:Sort( { n } ) donde n es la columna a
> ordenar. Pero no se cual número de columna es.
>
>
> Saludos y gracias,
> José Luis Capel
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Ordenar un Memdataset por campo calculado
Ignacio,
Gracias por responder.
>
> oCol := oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM(
> a:oDataSet:ccodart), 18," ") }
>
> oMemDataSet:Sort( { oCol:nIndex } )
>
Estos memdataset son una maravilla!! Me están proporcionando una
flexibilidad tremenda.
Saludos,
José Luis Capel
Gracias por responder.
>
> oCol := oMemDataSet1:AddCalcField := {|a,b| PADL(ALLTRIM(
> a:oDataSet:ccodart), 18," ") }
>
> oMemDataSet:Sort( { oCol:nIndex } )
>
Estos memdataset son una maravilla!! Me están proporcionando una
flexibilidad tremenda.
Saludos,
José Luis Capel