I haven't done cross tabs, so I don't know how this will work, but this is what I would do.
I would add a grouping on Order-Line, and use shared variables.
in the GH a reset:
shared numbervar pickStatus :=0// neutral, nothing
""//hide the reset
GF, display
shared numbervar pickStatus;
if pickStatus = 1 then
"Unpicked"
else
if pickStatus = 2 then
"Paritally Picked"
else
"Totally Picked"
Details, this is the hard one:
shared numbervar pickStatus;
local booleanvar thisPick := false; //unpicked
if {table.field}="picked" then thisPick := true;
if pickStatus = 0 then (//first record for group
if thisPick then
pickStatus := 3
else
pickStatus := 1 ;
)
if thisPick AND pickStatus = 1 then pickStatus :=2; //partial
if not thisPick and pickStatus = 3 then pickStatus := 2; //partial
""//hide the result
it should work, since if the all items are picked or unpicked, they never change, only if there is a mix do they change.
HTH