Using gwt 2.3 and smartclient 2.5 nightly. I am having problems with the query that is generated by smartclient when a listgrid is set up to use a multiple select item for one of it's listgrid fields. Here is the data source file:
	Here is the console output:
	Here is where I set the list grid properties:
	Here is where I set the multiple select items:
	That is all I do with the list grid. How can I fix this? I tried looking at the showcase example, but I'm not doing anything different here.
							
						
					Code:
	
	<DataSource ID="ADataSource" dataFormat="iscServer" serverType="sql" 
dataSourceVersion="1" dbName="Oracle" tableName="P">
    <fields>
        <field name="P_TYPE_NAME" type="text" length="30" title="P Type Name">
            <nativeName>Name</nativeName>
            <tableName>P_TYPE</tableName>
        </field>
        <field name="S_TIMESTAMP" type="datetime" title="S Time"/>
        <field name="P_T_ID" type="float"/>
        <field name="P_ID" type="float" title="P ID" primaryKey="true"/>
        <field name="Lat" type="float" title="Lat"/>
        <field name="Mode" type="text" length="20" title="Mode"/>
        <field name="VALUE" type="float">
            <table>Value</table>
            <tableName>P_A</tableName>
        </field>
        <field name="C_type" type="text" length="10" title="C type">
            <tableName>P_TYPE</tableName>
        </field>
        <field name="NAME" type="text" length="40" title="A">
            <tableName>P_A_TYPE</tableName>
        </field>
        <field name="B_number" type="float" title="B">          
            <tableName>I_B</tableName>
        </field>
        <field name="I_N" type="text" length="10" title="I">       
            <tableName>I_B</tableName>
        </field>
    </fields>
    <operationBindings>
        <OperationBinding>
            <operationType>fetch</operationType>
            
            <tableClause>P, P_A_TYPE, 
    	P_A, P_TYPE, I_B</tableClause>
            <whereClause>P.P_ID = P_A.P_ID AND
    	P_A.P_A_TYPE_ID = 
    	P_A_TYPE.P_A_TYPE_ID AND
    	P_TYPE.P_T_ID = P.P_T_ID AND
    	P_TYPE.I_B_ID = I_B.I_B_ID AND
    	(P_A.VALUE > P_A_TYPE.MAX_THRESHOLD OR 
    	P_A.VALUE < P_A_TYPE.MAX_THRESHOLD) AND
    	($defaultWhereClause)
    	</whereClause>
        </OperationBinding>
    </operationBindings>
    <generatedBy>SC_SNAPSHOT-2011-09-15/PowerEdition Deployment 2011-09-15</generatedBy>
</DataSource>
Code:
	
	=== 2011-10-10 16:03:02,733 [0-14] INFO  RequestContext - URL: '/myapplication/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.20) Gecko/20110803 Firefox/3.6.20': Moz (Gecko) with Accept-Encoding header
=== 2011-10-10 16:03:02,846 [0-14] DEBUG XML - Parsed XML from (in memory stream): 111ms
=== 2011-10-10 16:03:02,865 [0-14] DEBUG RPCManager - Processing 1 requests.
=== 2011-10-10 16:03:02,870 [0-14] DEBUG RPCManager - Request #1 (DSRequest) payload: {
    criteria:{
        operator:"and",
        _constructor:"AdvancedCriteria",
        criteria:[
            {
                fieldName:"P_T_NAME",
                operator:"equals",
                value:[
                    "Apples",
                    "Pears",
                    "Oranges"
                ],
                _constructor:"AdvancedCriteria"
            }
        ]
    },
    operationConfig:{
        dataSource:"ADataSource",
        operationType:"fetch",
        textMatchStyle:"substring"
    },
    startRow:0,
    endRow:75,
    componentId:"isc_ListGrid_0",
    appID:"builtinApplication",
    operation:"ADataSource_fetch",
    oldValues:{
        operator:"and",
        _constructor:"AdvancedCriteria",
        criteria:[
            {
                fieldName:"P_T_NAME",
                operator:"equals",
                value:[
                    "Apples",
                    "Pears",
                    "Oranges"
                ],
                _constructor:"AdvancedCriteria"
            }
        ]
    }
}
=== 2011-10-10 16:03:02,871 [0-14] INFO  IDACall - Performing 1 operation(s)
=== 2011-10-10 16:03:02,871 [0-14] DEBUG AppBase - [builtinApplication.ADataSource_fetch] No userTypes defined, allowing anyone access to all operations for this application
=== 2011-10-10 16:03:02,872 [0-14] DEBUG AppBase - [builtinApplication.ADataSource_fetch] No public zero-argument method named '_ADataSource_fetch' found, performing generic datasource operation
=== 2011-10-10 16:03:02,872 [0-14] INFO  SQLDataSource - [builtinApplication.ADataSource_fetch] Performing fetch operation with
	criteria: {operator:"and",_constructor:"AdvancedCriteria",criteria:[{fieldName:"P_T_NAME",operator:"equals",value:["apples ","pears","oranges"],_constructor:"AdvancedCriteria"}]}	values: {operator:"and",_constructor:"AdvancedCriteria",criteria:[{fieldName:"P_T_NAME",operator:"equals",value:["apples ","pears","oranges"],_constructor:"AdvancedCriteria"}]}
=== 2011-10-10 16:03:02,873 [0-14] INFO  SQLDataSource - [builtinApplication.ADataSource_fetch] derived query: SELECT $defaultSelectClause FROM P, P_A_TYPE, 
    	P_A, P_T, I_B WHERE P.P_ID = P_A.P_ID AND
    	P_A.P_A_TYPE_ID = 
    	P_A_TYPE.P_A_TYPE_ID AND
    	P_T.P_T_ID = P.P_T_ID AND
    	P_T.I_B_ID = I_B.I_B_ID AND
    	(P_A.VALUE > P_A_TYPE.MAX_THRESHOLD OR 
    	P_A.VALUE < P_A_TYPE.MAX_THRESHOLD) AND
    	($defaultWhereClause)
    	
=== 2011-10-10 16:03:02,877 [0-14] DEBUG SQLDataSource - [builtinApplication.ADataSource_fetch] Executing row count query: SELECT COUNT(*) FROM P, P_A_TYPE, 
    	P_A, P_T, I_B WHERE P.P_ID = P_A.P_ID AND
    	P_A.P_A_TYPE_ID = 
    	P_A_TYPE.P_A_TYPE_ID AND
    	P_T.P_T_ID = P.P_T_ID AND
    	P_T.I_B_ID = I_B.I_B_ID AND
    	(P_A.VALUE > P_A_TYPE.MAX_THRESHOLD OR 
    	P_A.VALUE < P_A_TYPE.MAX_THRESHOLD) AND
    	($defaultWhereClause)
    	
=== 2011-10-10 16:03:02,879 [0-14] DEBUG SQLDataSource - [builtinApplication.ADataSource_fetch] Eval'd row count query: SELECT COUNT(*) FROM P, P_A_TYPE, 
    	P_A, P_T, I_B WHERE P.P_ID = P_A.P_ID AND
    	P_A.P_A_TYPE_ID = 
    	P_A_TYPE.P_A_TYPE_ID AND
    	P_T.P_T_ID = P.P_T_ID AND
    	P_T.I_B_ID = I_B.I_B_ID AND
    	(P_A.VALUE > P_A_TYPE.MAX_THRESHOLD OR 
    	P_A.VALUE < P_A_TYPE.MAX_THRESHOLD) AND
    	(((P_T.Name = '[apples , pears, oranges]' AND P_T.Name IS NOT NULL)))
Code:
	
	protected void setListGridProperties(String aDataSourceName)
	{
		// set the properties of the list grid
		theListGrid.setWidth100();
		theListGrid.setHeight100();
		theListGridDataSource = DataSource.get(aDataSourceName);
		if(theListGridDataSource != null)
		{
			theListGrid.setDataSource(theListGridDataSource);	
		}
		
		// set some properties for the list grid
		theListGrid.setAutoFetchData(true);
		theListGrid.setShowFilterEditor(true);
		theListGrid.setAllowFilterExpressions(true);
		
		// get all the fields from the data source and add them to the
		// list grid so we can create multiple select items for the 
		// fields that have value maps. 
		ArrayList<ListGridField> fieldList = new ArrayList<ListGridField>();
		for(String s : theListGridDataSource.getFieldNames())
		{
			fieldList.add(new ListGridField(s)); 
		}
		ListGridField []fieldArray = new ListGridField[fieldList.size()];
		fieldList.toArray(fieldArray);
		theListGrid.setFields(fieldArray);
	}
Code:
	
	protected void createMultipleSelectItemForListGridField(String aFieldName, 
			String aDataSourceName)
	{
		// set the value maps for the fields that have a fixed number
		// of possible values
		ListGridField aField = theListGrid.getField(aFieldName);
		aField.setOptionDataSource(DataSource.get(aDataSourceName));
		aField.setAutoFetchDisplayMap(true);
		
		// create the select item that will be used by the list grid field
		SelectItem anItem = new SelectItem();
		anItem.setMultiple(true);
		aField.setFilterEditorProperties(anItem);
		
		aField.setFilterEditorProperties(anItem);
	}
Comment