我是SmartGwt的新手。我正在尝试用ComboBoxItem制作一个DynamicForm,我想从数据库中的某个表中设置组合框的值。保存表单数据的DataSource是另一个。我该如何管理它呢?
下面是我的java代码:
// 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中。
发布于 2014-03-17 23:23:58
有一个首选是使用<operationBindings>标签在DataSource中加入一个文件。下面是一个示例:
<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>我希望我已经回答了你的问题,因为它不够清楚。
https://stackoverflow.com/questions/18144532
复制相似问题