If you select an item like ADVRT/JLMC 101 Hamilton for the delivery option and Submit, it will give a validation error. Selecting a shorter name won't. Also the full length of the item is not displayed correctly in the selectitem box.
The datasource data:
SmartClient Version: SC_SNAPSHOT-2010-12-03/LGPL Development Only (built 2010-12-03)
GWT2.0.4
Firefox
Code:
package edu.iastate.its.thinkspace.test.client.test; import java.util.HashMap; import java.util.Map; import com.google.gwt.core.client.EntryPoint; import com.smartgwt.client.core.KeyIdentifier; import com.smartgwt.client.data.DataSourceField; import com.smartgwt.client.data.RestDataSource; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.DSDataFormat; import com.smartgwt.client.types.FieldType; import com.smartgwt.client.util.KeyCallback; import com.smartgwt.client.util.Page; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.BlurbItem; import com.smartgwt.client.widgets.form.fields.ButtonItem; import com.smartgwt.client.widgets.form.fields.DateItem; import com.smartgwt.client.widgets.form.fields.FormItem; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.SpacerItem; import com.smartgwt.client.widgets.form.fields.TextAreaItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.fields.events.ClickEvent; import com.smartgwt.client.widgets.form.fields.events.ClickHandler; import com.smartgwt.client.widgets.form.validator.DoesntContainValidator; import com.smartgwt.client.widgets.layout.VStack; public class Test implements EntryPoint { public void onModuleLoad() { KeyIdentifier debugKey = new KeyIdentifier(); debugKey.setCtrlKey(true); debugKey.setKeyName("D"); Page.registerKey(debugKey, new KeyCallback() { public void execute(String keyName) { SC.showConsole(); } }); VStack stack = new VStack(); stack.setWidth100(); stack.setPadding(10); stack.setDefaultLayoutAlign(Alignment.CENTER); stack.addMember(getTESForm()); stack.draw(); } private DynamicForm getTESForm() { final DynamicForm form = new DynamicForm(); form.setWidth(600); form.setHeight100(); form.setNumCols(8); form.setBackgroundColor("#DBEAFE"); form.setAutoFetchData(true); TextItem name = new TextItem("name", "Name"); name.setStartRow(true); name.setColSpan(8); name.setWidth(200); name.setDefaultValue("test"); TextItem phone = new TextItem("phone", "*Phone Number"); phone.setStartRow(true); phone.setColSpan(8); phone.setWidth(60); phone.setDefaultValue("2-0000"); TextItem section = new TextItem("section", "Section"); section.setStartRow(true); section.setColSpan(8); section.setDefaultValue("test"); section.setWidth(250); DateItem dropoff = new DateItem("dropoff", "Drop-off Date"); dropoff.setStartRow(true); dropoff.setColSpan(8); SelectItem delivery = new SelectItem("delivery", "* Delivery Location"); delivery.setWidth(300); delivery.setStartRow(true); delivery.setDefaultToFirstOption(true); delivery.setColSpan(8); setValueMap(delivery); TextItem column = new TextItem("column","*Column Name"); column.setStartRow(true); column.setColSpan(8); column.setDefaultValue("column"); column.setHint("case-sensitive"); TextItem exam = new TextItem("exam", "<b>Exam#</b>"); exam.setStartRow(true); exam.setWidth(30); TextItem quiz = new TextItem("quiz", "<b>Quiz#</b>"); quiz.setStartRow(false); quiz.setWidth(30); FormItem midterm = new TextItem("midterm", "<b>Midterm#</b>"); midterm.setStartRow(false); midterm.setWidth(30); TextItem finalnum = new TextItem("finalnum", "<b>Final#</b>"); finalnum.setWidth(30); finalnum.setStartRow(false); TextItem email = new TextItem("email", "*Email List"); email.setWidth(250); email.setStartRow(true); email.setColSpan(8); email.setLength(255); email.setDefaultValue("george@bogus.com"); email.setHint("<nobr>comma-separated</nobr>"); TextItem code = new TextItem("code", "<nobr><b>Special Code Column Name</b></nobr>"); code.setStartRow(true); code.setColSpan(8); TextAreaItem inst = new TextAreaItem("inst", "<nobr><b>Special Instructions</b></nobr>"); inst.setColSpan(8); inst.setStartRow(true); inst.setWidth(250); inst.setLength(1000); ButtonItem submit = new ButtonItem("Submit"); submit.setStartRow(false); submit.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (form.validate()) { form.submit(); } } }); form.setIsGroup(true); form.setGroupTitle("Test and Evaluation Submission Form"); SpacerItem spacer = new SpacerItem(); spacer.setStartRow(true); form.setDataSource(getTESDS()); form.setItems(name,section,phone,dropoff,delivery,column,exam,quiz,midterm,finalnum,email,code,inst,spacer,submit); return form; } private void setValueMap(SelectItem item) { item.setValueMap("Select Location", "Durham 195 Durham", "ADVRT/JLMC 101 Hamilton", "AERO E 1200 Howe", "AESHM 31 Mackay", "AGEDS 201 Curtiss", "AGRON 1125 Agron", "AN S 119 Kildee", "ANTHR/SOC 103 East Hall", "BBMB/GDBC 1210 Molecular Biol", "BUSINESS 2200 Gerdin", "C B E 2162 Sweeney", "C I/SP ED N137 L'marcino", "CCE E 394 Town", "CHEM 1608 Gilman", "Com S 226 Atanasoff", "DSGN 134 Design", "E E/CPR E 2205 Coover", "ECON 174 Heady", "EEOB 253 Bessey", "ELPS N243 L'marcino", "ENGL 203 Ross", "ENT 110 Insectary", "FSHN 220 MacKay", "GEOL/MTEOR 253 Sci I", "HD FS 2330 Palmer", "HIST 603 Ross", "HONORS 2130 Jischke", "HORT 160 Hort", "IMSE 3004 Black", "ISBR 2625 N Loop Blgd2 S2500", "ISU DINING 1215 Friely", "KIN/H S/EX SP 235 Forker", "LAS 309 Catt", "LIB 140 Library", "M E 2025 Black Engr", "M S E 2220 Hoover", "MATH 396 Carver", "MICRO 207 Sci I", "MUSIC 149 Music", "NREM 124 Sci II", "PHIL/RELIG 402 Catt", "PHYS 12 Physics", "POL S 503 ROSS", "PSYCH W112 L'marcino", "SOC 103 East Hall", "SP CM/COM ST 308 Carver", "STAT 1121 Snedecor", "STD COUN SVC 2223 SSB 3rd Flr", "THTRE 210 Pearson", "VET MED 2270 Vet Med", "W S 208 Carve", "WLC 3102 Pearson"); } private RestDataSource getTESDS() { RestDataSource ds = new RestDataSource(); ds.setDataURL("/webapps/ISU-admintools-bb_bb60/admintools"); ds.setDataFormat(DSDataFormat.XML); Map<String,String> map = new HashMap<String,String>(); map.put("courseId", ""); map.put("tool", "tes"); map.put("option", "data"); ds.setDefaultParams(map); DataSourceField name = new DataSourceField("name", FieldType.TEXT, "Name", 20, true); name.setPrimaryKey(true); DataSourceField phone = new DataSourceField("phone", FieldType.TEXT, "Phone Number", 10, true); DataSourceField section = new DataSourceField("section", FieldType.TEXT, "Section", 20, true); DataSourceField dropoff = new DataSourceField("dropoff", FieldType.DATE, "Drop-off Date", 20, true); DataSourceField delivery = new DataSourceField("delivery", FieldType.ENUM, "Delivery Location", 20, true); DataSourceField column = new DataSourceField("column", FieldType.TEXT, "Column Name", 20, true); DataSourceField exam = new DataSourceField("exam", FieldType.TEXT, "Exam#", 4, false); DataSourceField quiz = new DataSourceField("quiz", FieldType.TEXT, "Quiz#", 4, false); DataSourceField midterm = new DataSourceField("midterm", FieldType.TEXT, "Midterm Exam#", 4, false); DataSourceField finalnum = new DataSourceField("finalnum", FieldType.TEXT, "Final Exam#", 4, false); DataSourceField email = new DataSourceField("email", FieldType.TEXT, "Email List", 50, true); DataSourceField code = new DataSourceField("code", FieldType.TEXT, "Special Code Column Name", 20, false); DataSourceField inst = new DataSourceField("inst", FieldType.TEXT, "Special Instructions", 20, false); ds.setRecordXPath("//tes"); ds.setFields(name,section,phone,dropoff,delivery,column,exam,quiz,midterm,finalnum,email,code,inst); return ds; } }
Code:
<response> <status>0</status> <data> <tes> <name>test</name> <section>test</section> <phone>2-0000</phone> <email>george@bogus.com</email> <delivery>Select Location</delivery> </tes> </data> </response>
GWT2.0.4
Firefox
Comment