Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

"customFields" in operationBinding doesn't work as expected

$
0
0
Hi Team,

Below given is my datasource and the SelectItem which is trying to use it.
Code:

<DataSource
        ID="projectArticle"
        serverType="sql"
        tableName="MonitoringProjectArticle"
        requiresAuthentication="true"
        dbName="Monitoring"
        >
        <fields>
        <field name="Project_ID" foreignKey="clippings.Project_ID" type="integer" required="true"/>
                <field name="Article_ID" type="integer" customSelectExpression="COUNT(Article_ID)" primaryKey="true" />
                <field name="MediaType_ID" type="integer" primaryKey="true" hidden="true"/>
                <field name="UserAddedFlag" type="integer" primaryKey="true" length="1" hidden="true" />
                <field name="Article_DT" type="datetime" hidden="true" />
                <field name="Created_DT" type="datetime" hidden="true" />
                <field name="Modified_DT" type="datetime" hidden="true" />
                <field name="DeletedFlag" type="integer" length="1" hidden="true" />
                <field name="HasIndexed" type="integer" length="1" hidden="true" />
                <field name="ProjectName" includeFrom="clippings.ProjectName" customSelectExpression="CONCAT(ProjectName, ' (', Article_ID,')')"/>
        </fields>
       
 <operationBindings>
                <operationBinding operationType="fetch" operationId="fetchProjectCount" customFields="ProjectName,Article_ID,Project_ID">
                        <criteria fieldName="DeletedFlag" operator="equals" value="0" />
                        <groupBy>Project_ID</groupBy>
                </operationBinding>
        </operationBindings>
</DataSource>

The component is:
Code:

SelectItem msi= new SelectItem();
          msi.setOptionDataSource(DataSource.get("projectArticle"));
          msi.setOptionOperationId("fetchProjectCount");
          msi.setName("Project_ID");
            msi.setDisplayField("ProjectName");
            msi.setTitle("Projects");

When doing the fetch from Datasource, DSResponse doesn't return me fields based on customFields="ProjectName,Article_ID,Project_ID" instead am receiving only "Project_ID", even in case I avoid customFields, I end up receiving only the same field. It looks like the DSResponse is not considering the fields defined for the Datasource when optionOPerationId is used for a SmartGWT component.

THis is the query generated during runtime:
Code:

SELECT MonitoringProjectArticle.Project_ID FROM MonitoringProject, MonitoringProjectArticle WHERE ((MonitoringProjectArticle.DeletedFlag = 0 AND MonitoringProjectArticle.DeletedFlag IS NOT NULL)) AND MonitoringProjectArticle.Project_ID = MonitoringProject.Project_ID GROUP BY MonitoringProjectArticle.Project_ID LIMIT 0, 75
Thanks in advance,Manoj

Viewing all articles
Browse latest Browse all 4756

Trending Articles