SmartClient Version: v9.1p_2014-08-05/LGPL Development Only (built 2014-08-05) in Firefox 26 for developement purpose only. Tested compiled against lastest versions
Configured a selectItem with listGridProperties to enable filtering and sorting and setting multiple is true, if you select a row and then filter and select another row, the previous selection it's replaced with the new one. But then if you clean the filter and select a another row, both selections are kept. Selection is kept only when clearing the filter
In preovious post you said that is a common issue in client-only dataSources. This happens with normal dataSources too
TestCase
TestDS
test.js
Old related post => http://forums.smartclient.com/showth...427#post122427
Best regards
Configured a selectItem with listGridProperties to enable filtering and sorting and setting multiple is true, if you select a row and then filter and select another row, the previous selection it's replaced with the new one. But then if you clean the filter and select a another row, both selections are kept. Selection is kept only when clearing the filter
In preovious post you said that is a common issue in client-only dataSources. This happens with normal dataSources too
TestCase
Code:
DynamicForm dynamicForm = new DynamicForm();
// ListGrid para cuando se despliega el selectItem de Pais
ListGrid paisListGridProperties = new ListGrid();
paisListGridProperties.setShowFilterEditor(true);
paisListGridProperties.setCellHeight(25);
paisListGridProperties.setShowHeader(true);
ListGridField idField = new ListGridField("id", "Id");
idField.setHidden(true);
ListGridField nameField = new ListGridField("name", "Name");
paisListGridProperties.setFields(idField, nameField );
paisListGridProperties.setSortField("name");
SelectItem paisesComboBoxItem = new SelectItem("country", "Country");
paisesComboBoxItem.setTitleOrientation(TitleOrientation.TOP);
paisesComboBoxItem.setEmptyDisplayValue("Empty");
paisesComboBoxItem.setOptionDataSource(TestDS.getInstance());
paisesComboBoxItem.setValueField("id");
paisesComboBoxItem.setDisplayField("name");
paisesComboBoxItem.setPickListProperties(paisListGridProperties);
paisesComboBoxItem.setMultiple(true);
paisesComboBoxItem.setMultipleAppearance(MultipleAppearance.PICKLIST);
dynamicForm.setItems(paisesComboBoxItem);
dynamicForm.draw();
Code:
public static class TestDS extends DataSource {
private static TestDS instance = null;
public static TestDS getInstance() {
if (instance == null) {
instance = new TestDS("testDS");
}
return instance;
}
public TestDS(String idDataSource) {
super();
// Establecer Id del DataSource
setID(idDataSource);
setDataFormat(DSDataFormat.JSON);
setDataURL("test.js");
// ID
DataSourceIntegerField id = new DataSourceIntegerField("id", "Id");
id.setPrimaryKey(true);
// Código
DataSourceTextField name = new DataSourceTextField("name", "Name");
// Asignar campos al Data Source
setFields(id, name);
}
}
Code:
[
{
id : 0,
name : "Spain"
},
{
id : 1,
name : "United Kingdom"
},
{
id : 2,
name : "USA"
},
{
id : 3,
name : "Japan"
}
]
Best regards
Comment