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 :

Object hashcode different with ZK form binding

2YannUnil172.69.108.13540rj0kApr 19, 2024 1:18:08 PMlink

Object hashcode different with ZK form binding

1YannUnil172.69.108.13040rj0kApr 19, 2024 1:04:31 PMlink

font awesome effects

1guest172.71.166.21232nla3hApr 18, 2024 6:04:43 PMlink

font awesome effects

245guest172.71.166.21220t2jmoApr 18, 2024 6:04:41 PMlink

ZK-5696

1JamesChu162.158.187.3739iuvhmApr 18, 2024 10:33:52 AMlink

Listbox colspan header version 2

3guest172.71.183.199jkpp6qApr 17, 2024 1:54:19 PMlink

ZK-5695

1guest162.158.90.1402is2rctApr 17, 2024 10:23:20 AMlink

LocalDate in datebox

2guest172.70.243.516v49n7Apr 17, 2024 6:05:17 AMlink

LocalDate in datebox

1guest172.70.243.516v49n7Apr 17, 2024 6:04:18 AMlink

LocalDate in datebox

1guest172.70.243.511m6i0gcApr 17, 2024 6:04:04 AMlink

HugeListModelSizeTest

7mhwcat78.11.87.943ebc7jbJan 11, 2018 12:34:28 PMlink

resources

index.zulzul<zk> <window border="normal" title="hello" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.TestViewModel')"> <button label="Refresh" onClick="@command('refresh')"/> <grid mold="paging" model="@bind(vm.items)" pageSize="@load(vm.pageSize)"> <custom-attributes org.zkoss.zul.grid.rod="true"/> <columns> <column label="ID"/> <column label="Name"/> </columns> <rows> <template name="model"> <row> <label value="@load(each.id)"/> <label value="@load(each.name)"/> </row> </template> </rows> </grid> getSize() invoke counter: <label value="@bind(vm.sizeCounter)"/> </window> </zk>TestViewModel.javajavaimport org.zkoss.bind.annotation.*; import org.zkoss.zhtml.Filedownload; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.select.Selectors; import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zul.AbstractListModel; import org.zkoss.zul.Combobox; import org.zkoss.zul.ListModel; import org.zkoss.zul.ListModelList; public class TestViewModel { private ListModel<TestItem> items; private int pageSize = 10; @AfterCompose public void afterCompose(@ContextParam(ContextType.VIEW) final Component view) { Selectors.wireComponents(view, this, false); refresh(); } @Command @NotifyChange({"items", "sizeCounter"}) public void refresh() { items = new TestListModel(pageSize); } public ListModel<TestItem> getItems() { return items; } public int getPageSize() { return pageSize; } public long getSizeCounter() { if(items != null) return ((TestListModel) items).getSizeCounter(); else return 0; } } TestListModel.javajavaimport org.zkoss.zk.ui.*; import org.zkoss.zk.ui.event.*; import org.zkoss.zk.ui.util.*; import org.zkoss.zk.ui.ext.*; import org.zkoss.zk.au.*; import org.zkoss.zk.au.out.*; import org.zkoss.zul.*; import java.io.*; import java.util.*; public class TestListModel extends AbstractListModel<TestItem> { private List<TestItem> testItems; private int pageSize; private final Map<Integer, TestItem> cache; private int size = -1; private long sizeCounter; public TestListModel(final int pageSize) { super(); generateItems(1000); this.pageSize = pageSize; this.cache = new HashMap<Integer, TestItem>(); } @Override public TestItem getElementAt(final int index) { TestItem testItem = cache.get(index); if (testItem == null) { try { final List<TestItem> testItems = getTestItems(index, pageSize); int indexKey = index; for (final TestItem o : testItems) { cache.put(indexKey, o); indexKey++; } } catch (final Exception e) { } finally { } } else { return testItem; } testItem = cache.get(index); if (testItem == null) { throw new RuntimeException("Element at index " + index + " cannot be found in the database."); } else { return testItem; } } @Override public int getSize() { sizeCounter++; if (size < 0) { try { size = (int) getFullItemsSize(); } catch (final Exception e) { } finally { } } return size; } private void generateItems(int size) { testItems = new ArrayList(size); Random rnd = new Random(); for(int i = 0; i < size; i++) { testItems.add(new TestItem(i, java.util.UUID.randomUUID().toString())); } } private List<TestItem> getTestItems(int index, int pageSize) { List<TestItem> chunk = new ArrayList<TestItem>(); int end; if((index + pageSize) > getFullItemsSize()) end = getFullItemsSize(); else end = index + pageSize; chunk = testItems.subList(index, end); return chunk; } private int getFullItemsSize() { return testItems.size(); } public long getSizeCounter() { return sizeCounter; } }TestItem.javajavaimport org.zkoss.zk.ui.*; import org.zkoss.zk.ui.event.*; import org.zkoss.zk.ui.util.*; import org.zkoss.zk.ui.ext.*; import org.zkoss.zk.au.*; import org.zkoss.zk.au.out.*; import org.zkoss.zul.*; public class TestItem { private int id; private String name; public TestItem(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public String getName() { return name; } }