Hey,
I played around with the multiple selections of the SelectItem and I guess I found a bug. I attached my sample code and tested the following case.
1. Click on the SelectItem to open the subgrid.
2. Select the first 2 records... they will appear in the Item as selected.
3. Then use the filter of the column "Name" and enter 99
4. Choose the record with is filtered.
5. The 2 records you selected first are not selected anymore and only "name 99" appears as selected
So basically this means that you can not use the filter for those kind of fields.
Thanks
Andy
Setup:
SmartGWT Version 12.1 latest nightly LGPL & Version 12.1 latest nightly LGPL
GWT: 2.8.2
Browser: latest Chrome
I played around with the multiple selections of the SelectItem and I guess I found a bug. I attached my sample code and tested the following case.
1. Click on the SelectItem to open the subgrid.
2. Select the first 2 records... they will appear in the Item as selected.
3. Then use the filter of the column "Name" and enter 99
4. Choose the record with is filtered.
5. The 2 records you selected first are not selected anymore and only "name 99" appears as selected
So basically this means that you can not use the filter for those kind of fields.
Thanks
Andy
Setup:
SmartGWT Version 12.1 latest nightly LGPL & Version 12.1 latest nightly LGPL
GWT: 2.8.2
Browser: latest Chrome
Code:
import java.util.ArrayList; import java.util.List; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.Record; import com.smartgwt.client.data.fields.DataSourceIntegerField; import com.smartgwt.client.data.fields.DataSourceTextField; import com.smartgwt.client.types.DSDataFormat; import com.smartgwt.client.types.MultipleAppearance; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.uds.webadmin.client.data.CSourceFields; public class GTestForm { public GTestForm() { initForm(); } public void initForm() { // create form final DynamicForm form = new DynamicForm(); form.setWidth( 300 ); // Create selectItem SelectItem item = new SelectItem( "itemID" ); item.setOptionDataSource( getDataSource() ); item.setWidth( 240 ); item.setTitle( "Item" ); item.setPickListWidth( 450 ); item.setPickListFields(); item.setValueField( "ID" ); item.setDisplayField( "Name" ); item.setPickListWidth( 450 ); item.setMultiple( true ); item.setMultipleValueSeparator( "," ); item.setShowDeletions( false ); item.setMultipleAppearance( MultipleAppearance.PICKLIST ); // create subgrid fields ListGridField idField = new ListGridField( "ID" ); ListGridField nameField = new ListGridField( "Name" ); ListGridField descriptionField = new ListGridField( "Description" ); // create Grid final ListGrid listGrid = new ListGrid(); listGrid.setShowFilterEditor( true ); listGrid.setEmptyCellValue( "---" ); // assign Grid & fields item.setPickListProperties( listGrid ); item.setPickListFields( idField, nameField, descriptionField ); form.setItems( item ); form.draw(); } private DataSource getDataSource() { // New DataSource DataSource ds = new DataSource(); ds.setID( "TestDS" ); ds.setClientOnly( true ); // Create fields DataSourceIntegerField idField = new DataSourceIntegerField( "ID", "ID" ); idField.setPrimaryKey( true ); DataSourceTextField nameField = CSourceFields.getTextField( "Name", "Name" ); DataSourceTextField descriptionField = CSourceFields.getTextField( "Description", "Description" ); // Assign Fields ds.setFields( idField, nameField, descriptionField ); // Add records to DS List<Record> resultList = getRecords( 100 ); for ( Record record : resultList ) { ds.addData( record ); } return ds; } private List<Record> getRecords( int numbers ) { List<Record> resultList = new ArrayList<Record>(); for ( int i = 0; i < numbers; i++ ) { // Create new record Record record = new Record(); record.setAttribute( "ID", ( i + 1 ) ); record.setAttribute( "Name", "Test Name" + ( i + 1 ) ); record.setAttribute( "Description", "Test Description" + ( i + 1 ) ); // Add record resultList.add( record ); } return resultList; } }
Comment