2013-08-09 2 views
0

저는 SmartGwt에서 새롭게 변경되었습니다. ComboBoxItem을 사용하여 DynamicForm을 만들려고하고 있는데 데이터베이스의 일부 테이블에서 콤보 상자 값을 설정하려고합니다. 양식 데이터를 보유하는 DataSource는 다른 것입니다. 어떻게 관리 할 수 ​​있습니까?ComboBoxItem 및 다중 데이터 소스가있는 DynamicForm

// DataSource 
DataSource arcDS = DataSource.get("automaticExportConfig"); 
// ComboboxItem set 
cycleList = new ComboBoxItem("cycle"); 
cycleList.setOptionDataSource(arcDS); 
cycleList.setOptionOperationId("comboBoxCycleList"); 
cycleList.setDisplayField("cycle"); 
cycleList.setValueField("cycle"); 
cycleList.setAutoFetchData(true); 
cycleList.setFilterLocally(false); 

.ds.xml 파일 :

<DataSource 
    dbName="PostgreSQL" 
    ID="automaticExportConfig" 
    serverType="sql" 
    tableName="automaticExportConfig" 
    titleField="id" 
> 

<fields> 
    <field name="id" type="sequence" sequenceName="automaticExportConfig_id_seq" hidden="true" primaryKey="true"/> 
    <field name="cycle" type="text" title="Cycle" /> 
    </fields> 

<operationBindings> 
    <binding operationType="fetch" operationId="comboBoxCycleList" outputs="id"> 
     <customSQL>SELECT id FROM billingcycle</customSQL> 
     <serverObject className="com.demo.server.AutomaticExportConfigDMI" methodName="getComboBoxCycleList"/> 
    </binding> 

</operationBindings> 

<serverObject lookupStyle="new" className="com.demo.server.AutomaticExportConfigDMI"/> 

DMI.java 파일 :

public DSResponse fetch(DSRequest dsRequest) throws Exception { 
    log.info("procesing AutomaticExportConfig DMI fetch operation"); 
    DSResponse dsResponse = dsRequest.execute(); 
    System.out.println("data"+dsResponse.getData()); 
    return dsResponse; 
} 

public DSResponse getComboBoxCycleList(com.isomorphic.rpc.RPCManager manager, javax.servlet.http.HttpServletResponse response, DSRequest dsRequest) throws Exception { 
    log.info("procesing AutomaticExportConfig DMI fetch operation"); 
    DSResponse dsResponse = dsRequest.execute(); 
    System.out.println("listdata"+dsResponse.getData()); 
    return dsResponse; 
} 

데이터에 표시됩니다 여기

내 자바 코드 콘솔에 있지만 ComboBox에는 없습니다.

답변

0

<operationBindings> 태그를 사용하여 데이터 소스의 파일에 참여하도록 설정하는 것이 좋습니다. 나는 충분히

명확하지 않기 때문에 내가 당신의 질문에 대답 한 희망

<operationBindings> 
      <operationBinding operationType="fetch"> 
       <tableClause>crm_objects,crm_kind</tableClause> 
       <whereClause>crm_objects.crm_obj_kind = crm_kind.crm_kind_idnum AND ($defaultWhereClause)</whereClause> 
      </operationBinding> 
     </operationBindings> 

예를 들면 다음과 같습니다

관련 문제