diff --git a/designer-base/src/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java b/designer-base/src/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java index 9976bd94d..f63b37d6c 100644 --- a/designer-base/src/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java +++ b/designer-base/src/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java @@ -108,7 +108,6 @@ public class ConnectionComboBoxPanel extends ItemEditableComboBoxPanel { //如果更新失败,则不关闭对话框,也不写xml文件,并且将对话框定位在请重命名的那个对象页面 return; } - connectionListPane.update(connectionConfig); DesignerContext.getDesignerBean("databasename").refreshBeanElement(); } diff --git a/designer-form/src/com/fr/design/mainframe/FormModelAdapter.java b/designer-form/src/com/fr/design/mainframe/FormModelAdapter.java index 65e9d41d8..3c1233fab 100644 --- a/designer-form/src/com/fr/design/mainframe/FormModelAdapter.java +++ b/designer-form/src/com/fr/design/mainframe/FormModelAdapter.java @@ -1,6 +1,8 @@ package com.fr.design.mainframe; import com.fr.base.Parameter; +import com.fr.base.TableData; +import com.fr.data.TableDataSource; import com.fr.design.DesignModelAdapter; import com.fr.design.file.HistoryTemplateListPane; import com.fr.form.main.Form; @@ -10,6 +12,9 @@ import com.fr.form.ui.DataControl; import com.fr.form.ui.ElementCaseEditor; import com.fr.form.ui.MultiFileEditor; import com.fr.form.ui.Widget; +import com.fr.main.parameter.ReportParameterAttr; +import com.fr.script.Calculator; +import com.fr.stable.ParameterProvider; import com.fr.stable.js.WidgetName; import java.util.ArrayList; @@ -87,20 +92,44 @@ public class FormModelAdapter extends DesignModelAdapter { public boolean dealWithAllCards() { return true; } - + public void dealWith(Widget widget) { - boolean isSupportAsHypelink = widget.acceptType(ElementCaseEditor.class) || widget.acceptType(BaseChartEditor.class); - //可以超链的对象不包含本身; 目前只有图表和报表块可以 - // bug66182 删了条件:!ComparatorUtils.equals(editingECName, widget.getWidgetName()) 让当前表单对象可以选到自己 - if (isSupportAsHypelink){ - linkAbleList.add( widget); - } + boolean isSupportAsHypelink = widget.acceptType(ElementCaseEditor.class) || widget.acceptType(BaseChartEditor.class); + //可以超链的对象不包含本身; 目前只有图表和报表块可以 + // bug66182 删了条件:!ComparatorUtils.equals(editingECName, widget.getWidgetName()) 让当前表单对象可以选到自己 + if (isSupportAsHypelink) { + linkAbleList.add(widget); + } } }, Widget.class); return linkAbleList.toArray(new Widget[linkAbleList.size()]); } + // 报表参数 + @Override + public Parameter[] getReportParameters() { + Parameter[] rpa = this.getBook().getTemplateParameters(); + return rpa == null ? new Parameter[0] : rpa; + } + + // 数据源参数 + @Override + public Parameter[] getTableDataParameters() { + TableDataSource source = this.getBook(); + Calculator c = Calculator.createCalculator(); + c.setAttribute(TableDataSource.KEY, source); + java.util.List list = new java.util.ArrayList(); + java.util.Iterator nameIt = this.getBook().getTableDataNameIterator(); + while (nameIt.hasNext()) { + TableData td = source.getTableData(nameIt.next()); + if (td.getParameters(c) != null) { + list.addAll(java.util.Arrays.asList(td.getParameters(c))); + } + } + return list.toArray(new Parameter[list.size()]); + } + @Override public Parameter[] getParameters() { return this.getBook().getParameters();