you could compress this script in one line and use Clients.evalJavaScript() to run the code without zk.afterMount(), for example (function() {.............})(); // runnable function
jumperchen ( 2013-02-07 08:23:58 +0800 )edit-
FEATURED COMPONENTS
First time here? Check out the FAQ!
how can i synchronize scroll-bar listener horizontal for 2 grid which have frozen column each.
i used code below which works for without frozen column but not working with frozen.
<zk>
<zscript>Object[] o = new Object[50];</zscript>
<div>
<grid id="grid1" height="100px">
<frozen columns="1">
</frozen>
<columns>
<column label="c1" ></column>
<column label="c2" width="50px"></column>
<column label="c3" width="50px"></column>
<column label="c4" width="50px"></column>
</columns>
<rows>
<row forEach="${o }">
<label value="item ${forEachStatus.index}"/>
<label value="c1 ${forEachStatus.index}"/>
<label value="c2 ${forEachStatus.index}"/>
<label value="c3 ${forEachStatus.index}"/>
</row>
</rows>
</grid>
<grid id="grid2" height="100px">
<frozen columns="1">
</frozen>
<columns>
<column label="c1" ></column>
<column label="c2" width="50px"></column>
<column label="c3" width="50px"></column>
<column label="c4" width="50px"></column>
</columns>
<rows>
<row forEach="${o}">
<label value="item ${forEachStatus.index}"/>
<label value="c1 ${forEachStatus.index}"/>
<label value="c2 ${forEachStatus.index}"/>
<label value="c3 ${forEachStatus.index}"/>
</row>
</rows>
</grid>
</div>
<zscript><![CDATA[
grid2.setWidgetListener("onScroll", "this.$f('grid1').ebody.scrollTop = this.ebody.scrollTop;");
grid1.setWidgetListener("onScroll", "this.$f('grid2').ebody.scrollLeft = this.ebody.scrollLeft;");
]]></zscript>
<!--
grid1.setWidgetListener("onScroll", "this.$f('grid2').ebody.scrollRight = this.ebody.scrollRight;alert(this.ebody.scrollLeft)");
-->
</zk>
Try to use Javascript to do so.
For example
<script><![CDATA[
zk.afterMount(function () {
var frozen1 = zk.Widget.$('$grid1').frozen,
frozen2 = zk.Widget.$('$grid2').frozen;
jq(frozen1.$n('scrollX')).scroll(function () {
setTimeout(function() {
frozen2.setStart(frozen1.getStart());
frozen2.syncScroll();
}, 100);
});
jq(frozen2.$n('scrollX')).scroll(function () {
setTimeout(function() {
frozen1.setStart(frozen2.getStart());
frozen1.syncScroll();
}, 100);
});
});
]]></script>
you could compress this script in one line and use Clients.evalJavaScript() to run the code without zk.afterMount(), for example (function() {.............})(); // runnable function
jumperchen ( 2013-02-07 08:23:58 +0800 )editAsked: 2013-02-06 05:12:30 +0800
Seen: 33 times
Last updated: Feb 07 '13
Facing issue in masking on phone [closed]
coerceFromString_ override no longer works from 6.5.1 [closed]
Execute Javascript on component visible
Is there a way to resolve view model properties as input to client side javascripts?
Theme javascript wpd file not found