Red Hat Bugzilla – Bug 472853
AutoOutline in calc doesn't do anything if the formula doesn't explicitly denote a contiguous range
Last modified: 2009-02-18 18:13:49 EST
Description of problem:
When apply the autooutline on the cell range contains formula,there is nothing happened on the cell
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Create a table like this:
January February March 1st Quarter April May June 2nd Quarter
100 120 130 =SUM(A2;B2;C2) 100 100 200 =SUM(E2;F2;G2)
2.select the cell range contains formula,click the Data->Outline->AutoOutline
the table is not grouped into two quarters
the table should be grouped into two quarters
In the rhel4,openoffice.org-1.1.5-10.6.0.5.el4,there is also nothing happened when use the autooutline
Strange, it works all right when I compute the sums by range expression, i.e. '=sum(A2:C2)' for the 1st Quarter.
dtardon->caolanm: Do you happen to know, by any chance, if that's intended behaviour? The Help says nothing to that.
Seems to be considering A2;B2;C2 to be three separate ranges of 1 cell each when it sees it like that, while A2;C2 is seen as a single range of 3 cells.
I see that Excel doesn't seem to have this limitation, and for us that
sc/source/core/data/table2.cxx ScTable::DoAutoOutline blocks this initially by checking for pCell->HasOneReference which isn't true for A2;B2;C2
if e.g. we had =SUM(A2;C2;G2) where the range is not contiguous then not doing anything makes sense I guess, but if the range is *expressible* as a single range, even if not entered that way they it would be ideal to "just work".
caolanm->dtardon: Do you want to have a go at a sort of "ScFormulaCell::IsExpressibleaAsOneReference" which could be used in ScTable::DoAutoOutline instead of ScFormulaCell::HasOneReference
dtardon->caolanm: Okay, taking over.
I've checked that patch into rawhide for >= 3.1.0
looks good for this example in 3.1.0-1 for F11