algorithms for rows in reports pertaining to formulas
To Add a row x for every row { For every reference rf { if rf >= x rf++ } } for all rows x and greater index ++ add row x |
To Delete a Row x for every row { For every reference rf { if rf > x+1 rf-- elsif rf == x rf = -1 } } delete row x for all rows x+1 and greater index-- |
To move a row x to row y { if x = y then exit elseif x > y { increment = -1; temp = y y = x x = temp } else increment = 1; for each row r { for each reference rf { if rf > x && rf <= y rf + increment; elsif (rf == x) rf = y; } } set row y index = -9 set row x index = y for rows x+1 to y-1 index + increment row index = -9 = y + increment }
|
BACKUP Algorithm for move x to y NOT COMPLETE To move a row x to row y { if x = y then exit for each row r { for each reference rf { if (x < y) { if rf > x && rf <= y rf--; elsif (rf == x) rf = y; } elsif (y < x) { if (rf < y && rf <= x) rf++ elsif (rf == y) rf = x; } else Error! } } }
|
Copyright (c) 2001 HLR
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1;
A copy of the license is available at
http://www.gnu.org/licenses/licenses.html#FDL.
Updated: $Id: reportrows.html,v 1.1.1.1 2001/08/09 19:02:58 moreejt Exp $