Hi Isomorphic,
using current 5.1p (v10.1p_2017-08-20), ComboBoxItem setPickListCriteria() seems to be not working. I'm not sure if this is a regression, but can remember posting a similar thing. It might be this one or even more related.
The issue now has been happening for me for a long time, so if it's a regression, it's not a recent one.
Please see this testcase:
Best regards
Blama
using current 5.1p (v10.1p_2017-08-20), ComboBoxItem setPickListCriteria() seems to be not working. I'm not sure if this is a regression, but can remember posting a similar thing. It might be this one or even more related.
The issue now has been happening for me for a long time, so if it's a regression, it's not a recent one.
Please see this testcase:
Code:
package com.smartgwt.sample.client; import com.google.gwt.core.client.EntryPoint; import com.smartgwt.client.Version; import com.smartgwt.client.core.KeyIdentifier; import com.smartgwt.client.data.AdvancedCriteria; import com.smartgwt.client.data.Criterion; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.SortSpecifier; import com.smartgwt.client.types.FetchMode; import com.smartgwt.client.types.OperatorId; import com.smartgwt.client.types.SortDirection; import com.smartgwt.client.types.TextMatchStyle; import com.smartgwt.client.util.Page; import com.smartgwt.client.util.PageKeyHandler; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.ComboBoxItem; import com.smartgwt.client.widgets.form.fields.FormItem; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.layout.VLayout; public class BuiltInDS implements EntryPoint { private VLayout mainLayout; private IButton recreateBtn; public void onModuleLoad() { KeyIdentifier debugKey = new KeyIdentifier(); debugKey.setCtrlKey(true); debugKey.setKeyName("D"); Page.registerKey(debugKey, new PageKeyHandler() { public void execute(String keyName) { SC.showConsole(); } }); mainLayout = new VLayout(20); mainLayout.setWidth100(); mainLayout.setHeight100(); recreateBtn = new IButton("Recreate"); recreateBtn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { recreate(); } }); mainLayout.addMember(recreateBtn); recreate(); mainLayout.draw(); } private void recreate() { Window w = new Window(); w.setWidth("95%"); w.setHeight("95%"); w.setMembersMargin(0); w.setModalMaskOpacity(70); w.setTitle(" (" + Version.getVersion() + "/" + Version.getSCVersionNumber() + ")"); w.setTitle("ComboBoxItem SortSpecifiers not working" + w.getTitle()); w.setShowMinimizeButton(false); w.setIsModal(true); w.setShowModalMask(true); w.centerInPage(); final DynamicForm employeesDF = new DynamicForm(); employeesDF.setDataSource(DataSource.get("employees")); FormItem employeeIdLGF = new FormItem("EmployeeId"); FormItem nameLGF = new FormItem("Name"); FormItem genderLGF = new FormItem("Gender"); MyComboBoxItem mcbi = new MyComboBoxItem("ReportsTo"); employeesDF.setFields(employeeIdLGF, nameLGF, genderLGF, mcbi); employeesDF.fetchData(new AdvancedCriteria(new Criterion(employeeIdLGF.getName(), OperatorId.EQUALS, 182))); w.addItem(employeesDF); w.show(); } private class MyComboBoxItem extends ComboBoxItem { public MyComboBoxItem(String name) { super(name); setOptionDataSource(DataSource.get("employees")); setPickListCriteria(new AdvancedCriteria(new Criterion("Name", OperatorId.GREATER_OR_EQUAL, "C"))); setValueField(DataSource.get("employees").getPrimaryKeyFieldName()); setDisplayField("Name"); setAllowEmptyValue(true); ListGridField employeeIdLGF = new ListGridField("EmployeeId"); ListGridField nameLGF = new ListGridField("Name"); ListGridField genderLGF = new ListGridField("Gender"); setPickListFields(employeeIdLGF, nameLGF, genderLGF); // setPickListFields() / setPickListSort()-order does not matter setPickListSort(new SortSpecifier[] { new SortSpecifier("Gender", SortDirection.ASCENDING), new SortSpecifier("Name", SortDirection.ASCENDING), new SortSpecifier("EmployeeId", SortDirection.ASCENDING) }); // setSortField("Name"); // Working as expected setPickListHeaderHeight(0); setPickListWidth(350); setTextMatchStyle(TextMatchStyle.SUBSTRING); setBrowserSpellCheck(false); setAddUnknownValues(false); setPickListProperties(new ListGrid() { { setDataFetchMode(FetchMode.BASIC); } }); } } }
Best regards
Blama
Comment