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 :

constraint binding textbox

3guest172.68.151.16220peldaDec 5, 2025 5:08:19 PMlink

Another new ZK fiddle

2guest172.68.151.16320peldaDec 5, 2025 5:07:51 PMlink

Another new ZK fiddle

1guest172.68.151.16220peldaDec 5, 2025 5:07:32 PMlink

Another new ZK fiddle

1peggypeng172.71.154.99364f4neDec 5, 2025 9:24:31 AMlink

tooltip example

2guest104.22.23.13rc1ntoDec 4, 2025 2:23:45 PMlink

Another new ZK fiddle

1guest172.69.134.2277t7602Dec 4, 2025 1:40:46 PMlink

Another new ZK fiddle

1peggypeng104.22.17.1802df6e3oDec 4, 2025 8:41:29 AMlink

onClose

1peggypeng172.68.87.248j8kd8aDec 3, 2025 4:10:26 AMlink

Another new ZK fiddle

1peggypeng172.69.134.2271rm7f4eNov 26, 2025 3:31:24 AMlink

ZK-5912-Suggestion

2rebeccalai104.22.20.1442qrmiiuNov 26, 2025 2:07:15 AMlink

Another new ZK fiddle

1guest220.134.32.242nhndnuJul 13, 2018 2:26:51 AMlink

resources

index.zulzul<?xml version="1.0" encoding="UTF-8"?> <!-- B80-ZK-2772-2.zul Purpose: Description: History: Tue Sep 22 13:40:53 CST 2015, Created by jumperchen Copyright (C) 2015 Potix Corporation. All Rights Reserved. --> <zk> <vlayout> <label multiline="true"> Grid Test 2, test steps as follows. 1. Sorting the Column 6 by clicking its title. (The column width for each column should stay the same as before) 2. Scroll to the end of the right for the frozen column, and then sorting the Column 10. All the column width should stay as the same as before. 3. Resize anyone of the columns (not the frozen columns), and sorting its column, the width of each column should stay the same as before) </label> <grid apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.TestComposer')" height="400px" span="true" sizedByContent="true" model="@load(vm.customers)"> <custom-attributes org.zkoss.zul.frozen.smooth="false"/> <auxhead> <auxheader label="First 5 Columns" colspan="5"/> <auxheader label="Next 15 Columns" colspan="15"/> </auxhead> <columns sizable="true" menupopup="auto"> <column hflex="min" label="Column 1" sort="auto(name0)"/> <column hflex="min" label="Column 2" sort="auto(name1)"/> <column hflex="min" label="Column 3" sort="auto(name2)"/> <column hflex="min" label="Column 4" sort="auto(name3)"/> <column hflex="min" label="Column 5" sort="auto(name4)"/> <column label="Column 6" sort="auto(name5)"/> <column label="Column 7" sort="auto(name6)"/> <column label="Column 8" sort="auto(name7)"/> <column label="Column 9" sort="auto(name8)"/> <column label="Column 10" sort="auto(name9)"/> <column label="Column 6" sort="auto(name5)"/> <column label="Column 7" sort="auto(name6)"/> <column label="Column 8" sort="auto(name7)"/> <column label="Column 9" sort="auto(name8)"/> <column label="Column 10" sort="auto(name9)"/> <column label="Column 6" sort="auto(name5)"/> <column label="Column 7" sort="auto(name6)"/> <column label="Column 8" sort="auto(name7)"/> <column label="Column 9" sort="auto(name8)"/> <column label="Column 10" sort="auto(name9)"/> </columns> <frozen columns="5"/> <template name="model"> <row> <cell> <label value="@load(each.name0)"/> </cell> <cell> <label value="@load(each.name1)"/> </cell> <cell> <label value="@load(each.name2)"/> </cell> <cell> <label value="@load(each.name3)"/> </cell> <cell> <label value="@load(each.name4)"/> </cell> <cell> <label value="@load(each.name5)"/> </cell> <cell> <label value="@load(each.name6)"/> </cell> <cell> <label value="@load(each.name7)"/> </cell> <cell> <label value="@load(each.name8)"/> </cell> <cell> <label value="@load(each.name9)"/> </cell> <cell> <label value="@load(each.name5)"/> </cell> <cell> <label value="@load(each.name6)"/> </cell> <cell> <label value="@load(each.name7)"/> </cell> <cell> <label value="@load(each.name8)"/> </cell> <cell> <label value="@load(each.name9)"/> </cell> <cell> <label value="@load(each.name5)"/> </cell> <cell> <label value="@load(each.name6)"/> </cell> <cell> <label value="@load(each.name7)"/> </cell> <cell> <label value="@load(each.name8)"/> </cell> <cell> <label value="@load(each.name9)"/> </cell> </row> </template> <foot> <footer/> <footer/> <footer/> <footer/> <footer/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> <footer label="Footer"/> </foot> </grid> </vlayout> </zk> TestComposer.javajavaimport org.zkoss.bind.annotation.Init; import org.zkoss.zul.ListModelList; /** * @author jumperchen */ public class TestComposer { private ListModelList<Customer> customers; @Init public void init() { this.customers = new ListModelList<Customer>(); for(int i = 0; i < 20; i++) this.customers.add(new Customer("Name " + i, "Name " + i, "Name " + i, "Name " + i, "Name " + i, "Name " + i, "Long long long long long long long long long long long long long name " + i, "Name " + i, "Name " + i, "Name " + i)); } public ListModelList<Customer> getCustomers() { return customers; } public static class Customer { private String name0; private String name1; private String name2; private String name3; private String name4; private String name5; private String name6; private String name7; private String name8; private String name9; public Customer() {} public Customer(String name0, String name1, String name2, String name3, String name4, String name5, String name6, String name7, String name8, String name9) { this.name0 = name0; this.name1 = name1; this.name2 = name2; this.name3 = name3; this.name4 = name4; this.name5 = name5; this.name6 = name6; this.name7 = name7; this.name8 = name8; this.name9 = name9; } public String getName0() { return name0; } public void setName0(String name0) { this.name0 = name0; } public String getName1() { return name1; } public void setName1(String name1) { this.name1 = name1; } public String getName2() { return name2; } public void setName2(String name2) { this.name2 = name2; } public String getName3() { return name3; } public void setName3(String name3) { this.name3 = name3; } public String getName4() { return name4; } public void setName4(String name4) { this.name4 = name4; } public String getName5() { return name5; } public void setName5(String name5) { this.name5 = name5; } public String getName6() { return name6; } public void setName6(String name6) { this.name6 = name6; } public String getName7() { return name7; } public void setName7(String name7) { this.name7 = name7; } public String getName8() { return name8; } public void setName8(String name8) { this.name8 = name8; } public String getName9() { return name9; } public void setName9(String name9) { this.name9 = name9; } } }