diff --git a/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java b/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java index efc7ff2b0..e5617c946 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/FormModelAdapter.java @@ -11,11 +11,15 @@ import com.fr.form.ui.BaseChartEditor; import com.fr.form.ui.ElementCaseEditor; import com.fr.form.ui.Widget; import com.fr.script.Calculator; +import com.fr.stable.EmbParaFilter; import com.fr.stable.ParameterProvider; import com.fr.stable.js.WidgetName; +import com.fr.util.ParameterApplyHelper; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class FormModelAdapter extends DesignModelAdapter> { @@ -42,6 +46,16 @@ public class FormModelAdapter extends DesignModelAdapter> jTemplate.populateParameter(); } + @Override + public void tableDataParametersChanged(String oldName, String tdName, TableData tableData) { + Map map = new HashMap<>(); + addGlobalParameters(map); + updateTableDataParameters(oldName, tdName, tableData, map, parameterProvider -> !EmbParaFilter.isFRLayerTypePara(parameterProvider)); + ParameterApplyHelper.addPara2Map(map, this.getBook().getTemplateParameters()); + parameters = map.values().toArray(new Parameter[0]); + jTemplate.populateParameter(); + } + /** * 控件配置改变. */ @@ -135,6 +149,13 @@ public class FormModelAdapter extends DesignModelAdapter> @Override protected Parameter[] getLatestParameters() { - return this.getBook().getParameters(); + Map map = new HashMap<>(); + addGlobalParameters(map); + + addTableDataParameters(map, parameterProvider -> !EmbParaFilter.isFRLayerTypePara(parameterProvider)); + + ParameterApplyHelper.addPara2Map(map, this.getBook().getTemplateParameters()); + + return map.values().toArray(new Parameter[0]); } } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java b/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java index 1a4f20c3d..87391a5a0 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/WorkBookModelAdapter.java @@ -18,9 +18,12 @@ import com.fr.stable.StringUtils; import com.fr.stable.bridge.StableFactory; import com.fr.stable.js.WidgetName; +import com.fr.util.ParameterApplyHelper; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; /** * @author zhou @@ -72,6 +75,18 @@ public class WorkBookModelAdapter extends DesignModelAdapter map = new HashMap<>(); + addGlobalParameters(map); + updateTableDataParameters(oldName, tdName, tableData, map, null); + addReportParameters(map); + parameters = map.values().toArray(new Parameter[0]); + jTemplate.updateReportParameterAttr(); + jTemplate.populateReportParameterAttr(); + + } + /** * 控件改变. */ @@ -107,9 +122,27 @@ public class WorkBookModelAdapter extends DesignModelAdapter map = new HashMap<>(); + addGlobalParameters(map); + + addTableDataParameters(map, null); + + addReportParameters(map); + + return map.values().toArray(new Parameter[0]); + } + + private void addReportParameters(Map map) { + // 添加模板参数 + ReportParameterAttr parameterAttr = this.getBook().getReportParameterAttr(); + if (parameterAttr != null) { + ParameterApplyHelper.addPara2Map(map, parameterAttr.getParameters()); + } } + + + /** * 返回控件的名字 *