Issue 108013

Summary: No screen refresh for conditional formatting with formulas
Product: Calc Reporter: markymark7 <mark.s.stewart>
Component: formattingAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: issues, jeffooo, oliver.brinzing, rb.henschel
Version: OOO310m9Keywords: oooqa
Target Milestone: ---   
Hardware: PC   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Sample spreadsheet showing problem
none
test document with AND and SIN in condition
none
Conditionnal formating with Indirect function none

Description markymark7 2009-12-30 17:51:58 UTC
I have a spreadsheet with 4 cells, B3...B6, each cell has a value of 0 or 1. 
There is a formula in cell C3 of

=SUM(B3:B6)

Each of the cells B3...B6 have a a conditional format set to the formula like
this one in B5:

AND($Sheet1.$C$3>1;B5=1)

It uses a style to set the cell to a style using a Light Red font.

If I have a 1 in cell B3, and the rest are 0, then I set B6 to be 1, B6 gets
formatted correctly, but B3 formatting does not get updated to Light Red, unless
I edit B3 and re-enter a 1.  Hitting F9 to recalculate does not fix the
formatting.  Also, if I edit cells to end up with just one cell containing a 1,
the cell still containing a 1 is still red.

Example:

http://www.meekmark.com/ConditionalFormattingNotRecalcing.zip
Comment 1 markymark7 2009-12-30 17:53:31 UTC
Created attachment 66920 [details]
Sample spreadsheet showing problem
Comment 2 Oliver Brinzing 2009-12-31 07:50:17 UTC
imho everything is ok - to see the Light Red font from your style "ErrorFlag"
you have to switch the cell highlighting off (see menu "view" for the entry)

Comment 3 Oliver Brinzing 2009-12-31 09:59:06 UTC
aah, having a closer look, i can see the problem ;-)

but have you already tried to change the formula's like:

AND($Sheet1.$C$3>1;B3=1;RAND()>=0)

RAND() should *always* be calculated ...

for example, this will show the sheetname in a cell and update the cell
content automatically if the sheet is renamed:
=MID(CELL("FILENAME");FIND("#$";CELL("FILENAME")&0*RAND())+2;256)
Comment 4 markymark7 2009-12-31 22:03:42 UTC
I tried adding the rand() trick in the formula in the conditional formatting
dialog box, and that did not seem to help.  I will mention that in the original
spreadsheet where I encountered the problem, when I added some additional
formulas that reference the cells that have the conditional formatting, it works OK.
Comment 5 Regina Henschel 2009-12-31 22:43:11 UTC
I notice that the conditional formatting is OK, but the screen is not refreshed.
Press Ctrl+Shift+R or scroll up and down to refresh the screen. Then it should
show the right color.

I use OOo3.2RC1 on WinXP.
Comment 6 markymark7 2010-01-01 04:24:26 UTC
That work-around of Ctrl-Shift-R or scrolling to refresh does work for me too. 
So now I suppose this summary could be "Conditional formatting not being
reflected until screll is refreshed" ...

Comment 7 Regina Henschel 2010-01-01 19:02:54 UTC
If the conditional formatting uses "Formula is", for some functions the screen
does not refresh, when the cell gets a new style.

I see the defect with AND and SIN, issue 96721 reports it for INDIRECT.

If you test it with a new spreadsheet, make sure, that the refresh is not done
because of other reasons.
Comment 8 Regina Henschel 2010-01-01 19:04:45 UTC
Created attachment 66934 [details]
test document with AND and SIN in condition
Comment 9 Regina Henschel 2010-01-01 19:07:35 UTC
*** Issue 96721 has been marked as a duplicate of this issue. ***
Comment 10 Oliver Brinzing 2010-01-02 09:00:28 UTC
@regina
do you think this can be seen as a showstopper for OO32?

imho at least (F9) should redraw the screen.
i just found that (Strg)(Shift) F9 (recalc all sheets) will update the screen too.
Comment 11 markymark7 2010-01-02 17:15:10 UTC
I agree that a good short-term fix would be to have F9 refresh the screen, as
that is the first key I hit (and hit, and hit...) when I didn't see the
conditional formatting applied.  For the root cause, I'm wondering (without
having even glanced at the code) whether having a conditional format applied on
a cell could have a flag set to indicate that cell needs to be always rendered
upon any update anywhere on the spreadsheet.
Comment 12 jeffooo 2014-01-06 09:35:48 UTC
Created attachment 82225 [details]
Conditionnal formating with Indirect function
Comment 13 jeffooo 2014-01-06 09:36:47 UTC
Hello,

Hello (In reply to Regina Henschel from comment #7)
>  issue 96721 reports it for INDIRECT.

Another way to reproduce bad refresh :

In the attachment "Conditionnal formating with Indirect function", select C2 and just right-clik > align-center for good refresh.


Regards