-
Bug
-
Resolution: Fixed
-
Normal
-
5.0.7.1, 5.0.8
-
jdk 1.6.0_12, tomcat 7.0.12, Mozilla Firefox 6.0.1 (Ubuntu 10.10)
Hi,
there seems to be an error in the redraw mechanism of grid components. The error occurs if include components are used to define the cell data of a grid and if the include components use mode="defer". Each time the visible status or width of grid columns are changed, the cell content is rendered multiple times. The number of rendered duplicates seems to depend on the number of columns that are changed during a single event processing.
Use the following example to reproduce the error:
main.zul:
<zk> <grid width="400px"> <columns> <column id="c1" label="c1" width="100px"/> <column id="c2" label="c2" width="100px"/> <column id="c3" label="c3" width="100px"/> <column id="c4" label="c4" width="100px"/> </columns> <rows> <row> <include src="include.zul" mode="defer"/> <include src="include.zul" mode="defer"/> <include src="include.zul" mode="defer"/> <include src="include.zul" mode="defer"/> </row> </rows> </grid> <toolbarbutton label="hide"> <attribute name="onClick"> c2.setVisible(false); c3.setVisible(false); c4.setVisible(false); </attribute> </toolbarbutton> </zk>
include.zul:
<zk> content </zk>
To reproduce the error follow the following steps:
1. Open "main.zul" in (Firefox) Browser
2. Click on the toolbarbutton labeled with "hide"
3. The last three columns will should be disappeared and the remaining column contains its content three times.