Hi all,
SmartGWT version: 2.5.2011-05-02-EVAL.
Sample code:
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.DataSourceField;
import com.smartgwt.client.types.FieldType;
import com.smartgwt.client.types.OperatorId;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.IButton;
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.SelectItem;
import com.smartgwt.client.widgets.layout.VLayout;
public class SelectItemEntryPoint implements EntryPoint {
private DynamicForm form;
public Canvas getViewPanel() {
form = new DynamicForm();
final DataSource ods = new DataSource();
DataSourceField dsField = new DataSourceField();
dsField.setName("id");
dsField.setType(FieldType.INTEGER);
ods.setFields(dsField);
ods.setRecordXPath("/List/entity");
ods.setDataURL("ds/test_data/ods.xml");
SelectItem item = new SelectItem("status");
item.setOptionDataSource(ods);
item.setValueField("id");
item.setDisplayField("id");
item.setMultiple(true);
item.setOperator(OperatorId.IN_SET);
form.setFields(item);
VLayout layout = new VLayout();
layout.addMember(form);
IButton criteriaButton = new IButton("dump criteria");
criteriaButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
System.out.println(form.getValuesAsCriteria().getValues());
}
});
layout.addMember(criteriaButton);
return layout;
}
@Override
public void onModuleLoad() {
getViewPanel().draw();
}
}
ods.xml:
<?xml version="1.0" encoding="UTF-8"?>
<List>
<entity>
<id>0</id>
</entity>
<entity>
<id>1</id>
</entity>
<entity>
<id>2</id>
</entity>
</List>
By choosing in combobox 1 and 2 output is:
{operator=and, _constructor=AdvancedCriteria, criteria=[{fieldName=status, operator=inSet, value=[1, 2]}]}
correct!
By choosing in combobox 0 and 1 output is:
{}
The same story with OperatorId.OR.
How can I force SmartGWT to handle zeros properly?
Regards,
Alexey