Ordenar un Memdataset por campo calculado
Publicado: Mié Jun 14, 2006 10:01 am
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
¿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