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

Survey Old main

33DavidTRegenstrief149.163.158.17930n8lfjNov 4, 2016 12:52:29 AMlink

resources

index.zulzul<zk> <window border="normal" id="mainwindow" title="hello" apply="pkg$.TestComposer"> <div id="eproSurveyChannelDiv"> <label id="channelTitle" value="ePro Survey Channel" style="font-family: Calibri,Candara,Segoe,'Segoe UI',Optima,Arial,sans-serif; font-size:20px; color:#777;"/> <div id="eproSurveyRuleSurveySetDiv" visible="true"> <separator orient="horizontal" spacing="15px;"/> <label value="Forms that have been added into this rule's survey set" sclass="raveInputLabel" /> <separator orient="horizontal" spacing="7px;"/> <tree id="eproSurveyRuleFormComponentTree" width="600px" SizedByContent="true" multiple="true" checkmark="true" model="${mainwindow$composer.treeModel}"> <treecols sizable="true"> <treecol width="500px" label="Name" /> <treecol width="100px" label="Type" /> </treecols> <template> <treeitem> <treerow> <treecell label="${each.data.name}"/> <treecell label="${each.data.type}"/> </treerow> </treeitem> </template> </tree> <separator orient="horizontal" spacing="7px;"/> <a label="Remove selected forms" id="eproSurveyChannel_removeFormBtn" sclass="raveStandardLink" /> </div> <vlayout sclass="left" id="eproSurveyOptions" style="margin-top:10px; padding-bottom:20px; overflow-x:hidden;"> <label value="Choose a form to view/add" sclass="raveInputLabel"/> <combobox id="allForumCombobox" autodrop="true" width="300px" sclass="raveCombo" style="margin-left:25px;" /> </vlayout> <hlayout style="margin-top:7px; margin-bottom:7px;"> <image id="eproSurveyChannel_addFormOpenClpsImg" src="~./org/regenstrief/ui/component/fhir/rave/zul/style/plusminus.png" /> <label value="View form details" sclass="raveInputLabel" /> </hlayout> <div id="eproSurveyFormTreeDiv" visible="false" style="margin:7px;"> <tree id="eproSurveyFormTree" width="600px" SizedByContent="true" multiple="true"> <treecols sizable="true"> <treecol width="500px" label="Name" /> <treecol width="100px" label="Type" /> </treecols> </tree> <separator orient="horizontal" spacing="7px;"/> <a label="Add" id="eproSurveyChannel_addFormBtn" sclass="save" /> </div> <hlayout style="margin-top:7px; margin-bottom:7px;"> <image id="eproSurveyChannel_collapseOpenCustomFormImg" src="~./org/regenstrief/ui/component/fhir/rave/zul/style/plusminus.png" /> <label value="Custom Form" sclass="raveInputLabel"/> </hlayout> <div id="eproSurveyCustomFormDiv" style="border:thin solid #ddd;width:100%; margin:7px; padding:7px; " visible="false"> <vlayout style="width:100%"> <label value="New form name" sclass="raveInputLabel"/> <textbox id="eproSurveyCustomFormNameTextbox" sclass="raveWonderbarLookingTextboxWithoutCombo" rows="1" width="300px"/> <separator orient="horizontal" spacing="7px;"/> <a label="Create Form" id="eproSurveyChannel_customFormAddBtn" sclass="save" /> <separator orient="horizontal" spacing="7px;"/> <tree id="eproSurveyCustomFormComponentTree" width="600px" SizedByContent="true" multiple="false"> <treecols sizable="true"> <treecol width="500px" label="Name" /> <treecol width="100px" label="Type" /> </treecols> </tree> <separator orient="horizontal" spacing="7px;"/> <hlayout> <a label="Edit Selected Form" id="eproSurveyChannel_customFormQuestionEditBtn" sclass="raveStandardLink " /> <a label="Add selected custom form into rule survey set" id="eproSurveyChannel_addCustomFormBtn" sclass="save" /> </hlayout> <div id="eproSurveyChannel_customFormEditDiv" visible="true"> <hlayout> <vlayout style="padding-top:10px; height:370px;"> <textbox id="allQuestionSearchTxtbx" sclass="raveWonderbarLookingTextbox" style="left:0;" width="285px" /> <listbox zclass="rave-z-listbox" id="eproSurveyAllQuestionListBox" width="300px" multiple="false" mold="paging" pageSize="10" vflex="true" /> </vlayout> <vlayout id="questionViewAnswerVlayout" /> </hlayout> <label value="Answer required? " sclass="raveInputLabel"/> <radiogroup id="addingQuestionAnsTypRGP"> <radio label="Answer required" value="Y" checked="true"/> <radio label="Anser NOT required" value="N"/> </radiogroup> <separator orient="horizontal" spacing="7px;"/> <label value="Max Answer: " sclass="raveInputLabel"/> <intbox id="addingQuestionAnsMaxNmb" width="30px"/> <separator orient="horizontal" spacing="7px;"/> <a label="Add Selected Question" id="eproSurveyChannel_customFormQuestionAddBtn" sclass="raveStandardLink " /> <separator orient="horizontal" spacing="7px;"/> <vlayout id="eproEditCustomFormVlayout"> <label id="selectedEditCustomFormNameLable" sclass="raveInputLabel"/> </vlayout> <separator orient="horizontal" spacing="7px;"/> <a label="Save Edited Form" id="eproSurveyChannel_customFormQuestionSaveBtn" sclass="save" /> </div> </vlayout> </div> <hlayout style="margin-top:7px; margin-bottom:7px;"> <image id="eproSurveyChannel_openClpsCustomQuestionImg" src="~./org/regenstrief/ui/component/fhir/rave/zul/style/plusminus.png" /> <label value="Custom question/answer Section" sclass="raveInputLabel"/> </hlayout> <!-- <eproQuestionBuilder id="eproQuestionBuilder" visible="false" /> --> <div style="padding-top:25px;" align="bottom" width="100%" height="45%"> <hlayout> <a sclass="primary" id="saveBtn">Save Channel</a> <a label="Cancel" id="cancelBtn" sclass="secondary" /> </hlayout> </div> </div> </window> </zk> TestComposer.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.util.*; public class TestComposer extends GenericForwardComposer{ // DefaultTreeModel<Map<String,String>> treeModel; DefaultTreeModel<QuestionnaireTreeNode> treeModel; public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); createTreeModel(); // treeModel = new DefaultTreeModel<Map<String,String>>(new DefaultTreeNode<Map<String,String>>(new HashMap<String,String>()) ); } public void onClick$btn(Event e) throws InterruptedException{ Messagebox.show("Hi btn"); } protected void createTreeModel() { /* List<QuestionnaireTreeNode> nodeList = new ArrayList<QuestionnaireTreeNode>(); Map<String,String> n1Adata = new HashMap<String,String>(); n1Adata.put("name", "question 1"); n1Adata.put("type", "loinc"); QuestionnaireTreeNode n1A = new QuestionnaireTreeNode(n1Adata); Map<String,String> n1Bdata = new HashMap<String,String>(); n1Bdata.put("name", "question 2"); n1Bdata.put("type", "loinc"); QuestionnaireTreeNode n1B = new QuestionnaireTreeNode(n1Bdata); List<QuestionnaireTreeNode> qNodeList = new ArrayList<QuestionnaireTreeNode>(); qNodeList.add(n1A); qNodeList.add(n1B); Map<String,String> n1data = new HashMap<String,String>(); n1data.put("name", "Loinc Survey 1"); n1data.put("type", ""); QuestionnaireTreeNode n1 = new QuestionnaireTreeNode(n1data, qNodeList); nodeList.add(n1); */ // Map<String, String> ndata = new HashMap<String,String>(); // ndata.put("name", "Surveys"); // ndata.put("type", ""); List<QuestionnaireTreeNode> nodeList=new ArrayList<QuestionnaireTreeNode>(); QuestionnaireTreeNode n = new QuestionnaireTreeNode("Test", nodeList); //ndata, nodeList); treeModel = new DefaultTreeModel(n); } public TreeModel getTreeModel() { return treeModel; } class QuestionnaireTreeNode extends DefaultTreeNode<String> {//Map<String,String>> { public QuestionnaireTreeNode(String inData, Collection<QuestionnaireTreeNode> inChildren) { super(inData, inChildren); } public QuestionnaireTreeNode(String inData) { super(inData); } } }