Gurus,
I have added the form elemts to the form in a loop which is added to Hlayout and then to Vlayout whcih is added to SectionStackSection (created in loop) and then to SectionStack. ON click on the button, I should get the form values, I am struggling with this. thanks in advance. Throwing ClassCast Exception... please see the sample code
I have added the form elemts to the form in a loop which is added to Hlayout and then to Vlayout whcih is added to SectionStackSection (created in loop) and then to SectionStack. ON click on the button, I should get the form values, I am struggling with this. thanks in advance. Throwing ClassCast Exception... please see the sample code
Code:
private VLayout vLayout1; private IButton button1; private SectionStack ss1; private DynamicForm form1; private VLayout vLayout; public void onModuleLoad(){ ss1 = new SectionStack(); ss1.setVisibilityMode(VisibilityMode.MULTIPLE); ss1.setWidth(500); ss1.setHeight(500); ss1.setMargin(10); ss1.setOverflow(Overflow.AUTO); vLayout1 = new VLayout(); form1 = new DynamicForm(); form1.setAlign(Alignment.LEFT); button1 = new IButton("Submit"); button1.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler(){ public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) { int counter = 0; //SC.say("SSS size is"+ss1.getSections().length); for (int i = 0; i < ss1.getSections().length ; i++) { ++counter; VLayout vLayout = (VLayout)ss1.getMembers()[i]; for (int j = 0; j < vLayout.getMembers().length ; j++) { HLayout hLayout = (HLayout)vLayout.getMembers()[j]; for (int k = 0; k < hLayout .getMembers().length; k++) { if (hLayout.getMembers()[j] instanceof DynamicForm) { DynamicForm form = (DynamicForm)hLayout.getMembers()[k]; SC.say("form -"+form.getValueAsString("si1")); } } } } } }); SelectItem si1 = new SelectItem(); si1.setWidth(100); si1.setName("si1"); si1.setTitle("Select"); si1.setDefaultToFirstOption(true); LinkedHashMap<String, String> map1 = new LinkedHashMap<String, String>(); map1.put("select1", "select1"); map1.put("select2", "select2"); map1.put("select3", "select3"); si1.setValueMap(map1); form1.setFields(si1); SectionStackSection sss1 = new SectionStackSection(); sss1.setTitle("Main "); sss1.setExpanded(true); sss1.setCanCollapse(false); sss1.addItem(form1); //ss1.addSection(sss1); for (int i=1; i <= 3; i=i+1) { vLayout = new VLayout(); vLayout.setAutoWidth(); vLayout.setAutoHeight(); HLayout hLayout = null; DynamicForm form1 = null; CheckboxItem cb1 = new CheckboxItem(); cb1.setDefaultValue(true); cb1.setTitle("Section"); DynamicForm form2 = new DynamicForm(); form2.setWidth(50); form2.setFields(cb1); SectionStackSection sss2 = new SectionStackSection("Section"+i); sss2.setExpanded(true); sss2.setControls(form2); for (int j = 0; j < 3; j = j+1) { hLayout = new HLayout(); hLayout.setAutoHeight(); hLayout.setAutoWidth(); form1 = new DynamicForm(); form1.setAlign(Alignment.LEFT); form1.setAutoWidth(); TextItem txt1 = new TextItem(); txt1.setName("marks"+i); txt1.setStartRow(true); if (i == 0){ txt1.setTitle("Marks"); } else { txt1.setTitle(""); } txt1.setWidth(200); txt1.setValue(i); txt1.setRequired(true); form1.setFields(txt1); hLayout.addMember(form1); vLayout.addMember(hLayout); } sss2.addItem(vLayout); ss1.addSection(sss2); } vLayout1.addMember(ss1); vLayout1.addMember(button1); vLayout1.draw(); }
Comment