Processing...

Suggested case list:

Using timer to refresh a grid

383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlink

user model to move item to another listbox

120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlink

Disabled list item row passed to VM-1981

296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlink

Disabled list item row passed to VM-1981

295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlink

Disabled list item row passed to VM-1981

294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlink

grid sample with ListModel/RowRenderer

816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlink

grid sample with ListModel/RowRenderer

809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlink

grid sample with ListModel/RowRenderer

196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlink

grid sample with ListModel/RowRenderer

195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlink

grid sample with ListModel/RowRenderer

194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlink

grid sample with ListModel/RowRenderer

193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlink

grid sample with ListModel/RowRenderer

192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlink

grid sample with ListModel/RowRenderer

191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlink

Hierarchy table without using ZK PE/EE

1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlink

grid sample with ListModel/RowRenderer

128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlink

user model to move item to another listbox

1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlink

Using timer to refresh a grid

1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlink

Fire a event from child iframe

1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlink

Textbox input restriction sample

1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlink

Test web core taglib in ZUL

1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlink

Latest 10 Fiddles :

Another new ZK fiddle

2guest172.70.54.33qs9184Dec 12, 2025 4:55:43 PMlink

Another new ZK fiddle

1guest172.68.76.130qs9184Dec 12, 2025 3:02:25 PMlink

Another new ZK fiddle

5guest162.158.123.16919uqcccDec 10, 2025 12:36:13 PMlink

Another new ZK fiddle

4guest104.22.23.2619uqcccDec 10, 2025 12:26:29 PMlink

Another new ZK fiddle

3guest104.22.23.2719uqcccDec 10, 2025 12:03:08 PMlink

Another new ZK fiddle

2guest104.22.23.2719uqcccDec 10, 2025 12:02:40 PMlink

Another new ZK fiddle

1guest104.22.23.2619uqcccDec 10, 2025 12:01:58 PMlink

Another new ZK fiddle

1guest172.71.139.1693ma2m4tDec 10, 2025 9:32:00 AMlink

ZK-5545 about combobox readonly

2guest172.71.139.1683u5ged0Dec 10, 2025 8:12:48 AMlink

Another new ZK fiddle

1guest172.71.139.1693u5ged0Dec 10, 2025 8:12:25 AMlink

listbox doesn't calc height CSS flex

152guest172.71.158.236k2q906Nov 20, 2023 8:58:11 AMlink

resources

index.zulzul<zk> <!-- <script><![CDATA[ zk.afterLoad("zul.sel", function () { var _xListbox = {}; zk.override(zul.sel.Listbox.prototype, _xListbox, { _calcHgh: function _calcHgh() { var rows = this.ebodyrows ? this.ebodyrows.rows : [], n = this.$n(), hgh = n.style.height, isHgh = hgh && hgh != 'auto' && hgh.indexOf('%') < 0; if (isHgh || this._cssflex) { hgh = (zk.parseInt(hgh) || n.getClientRects()[0].height) - zk(n).padBorderHeight(); if (hgh) { hgh -= this._headHgh(0); if (hgh < 0) hgh = 0; var sz = 0; l_out: for (var h, j = 0, rl = rows.length; j < rl; ++sz, ++j) { //next visible row var r; for (;; ++j) { //no need to check length again if (j >= rl) break l_out; r = rows[j]; if (zk(r).isVisible()) break; } var $r = zk(r); h = $r.offsetTop() + $r.offsetHeight(); if (h >= hgh) { if (h > hgh + 2) ++sz; //experimental break; } } sz = Math.ceil(sz && h ? hgh * sz / h : hgh / this._headHgh(20)); this._visibleRows(sz); hgh -= this.efoot ? this.efoot.offsetHeight : 0; //bug# 3036398: frozen scrollbar disappear when listbox with vflex="1" hgh -= this.efrozen && this._nativebar ? this.efrozen.offsetHeight : 0; this.ebody.style.height = (hgh < 0 ? 0 : hgh) + 'px'; return; //done } } var nVisiRows = 0, nRows = this.getRows(), lastVisiRow, firstVisiRow, midVisiRow; for (var j = 0, rl = rows.length; j < rl; ++j) { //tree might collapse some items var r = rows[j]; if (zk(r).isVisible()) { ++nVisiRows; if (!firstVisiRow) firstVisiRow = r; if (nRows === nVisiRows) { midVisiRow = r; break; //nVisiRows and lastVisiRow useful only if nRows is larger, //so ok to break here } lastVisiRow = r; } } hgh = 0; var diff = 2; /*experiment*/ if (!nRows) { if (this.isVflex()) { hgh = this._vflexSize(n.style.height); if (zk.ie < 11 && this._cachehgh != hgh) { hgh -= 1; // need to display the bottom border. this._cachehgh = hgh; } if (hgh < 25) hgh = 25; var rowhgh = firstVisiRow ? zk(firstVisiRow).offsetHeight() : null; if (!rowhgh) rowhgh = this._headHgh(20); nRows = Math.round((hgh - diff) / rowhgh); } this._visibleRows(nRows); } if (nRows) { if (!hgh) { if (!nVisiRows) { hgh = this._headHgh(20, true) * nRows; } else if (nRows <= nVisiRows) { var $midVisiRow = zk(midVisiRow); hgh = $midVisiRow.offsetTop() + $midVisiRow.offsetHeight(); } else { var $lastVisiRow = zk(lastVisiRow); hgh = $lastVisiRow.offsetTop() + $lastVisiRow.offsetHeight(); hgh = Math.ceil(nRows * hgh / nVisiRows); } } this.ebody.style.height = hgh + 'px'; } else { this.ebody.style.height = ''; var focusEL = this.$n('a'); if ((this.paging || this._paginal) && focusEL) focusEL.style.top = '0px'; // Bug ZK-1715: focus has no chance to sync if don't select item after changing page. } } }); }); ]]></script> --> <div height="50px" > <listbox vflex="1" width="200px"> <custom-attributes org.zkoss.zul.css.flex="true"/> <listitem> <listcell> <label multiline="true"> <attribute name="value">line 1 line line line line line line line line line line line line line line line line line line line line line line line line line line line line line line line line line line last line </attribute> </label> </listcell> </listitem> </listbox> </div> </zk>