diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java index a570f1da1..16b7e9fa1 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java @@ -36,6 +36,7 @@ import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.DesignerContext; import com.fr.design.menu.SeparatorDef; import com.fr.design.menu.ToolBarDef; +import com.fr.design.utils.ParameterUtils; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.esd.core.strategy.config.StrategyConfig; import com.fr.esd.core.strategy.config.StrategyConfigHelper; @@ -213,7 +214,7 @@ public class DBTableDataPane extends AbstractTableDataPane { box.setMinimumSize(new Dimension(300, 400)); - this.connectionTableProcedurePane.setMinimumSize(new Dimension(250, 400)); + this.connectionTableProcedurePane.setMinimumSize(new Dimension(230, 400)); this.connectionTableProcedurePane.setMaximumSize(new Dimension(500, 400)); JSplitPane mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, this.connectionTableProcedurePane, sqlSplitPane); @@ -238,14 +239,14 @@ public class DBTableDataPane extends AbstractTableDataPane { } - private void refresh() { + private void refreshParameters() { String[] paramTexts = new String[2]; paramTexts[0] = SqlUtils.tryPureSqlText(this.sqlTextPane.getText()); paramTexts[1] = SqlUtils.tryPureSqlText(this.pageQuery); List existParameterList = this.editorPane.update(); - Parameter[] ps = (existParameterList == null) ? new Parameter[0] : (Parameter[]) existParameterList.toArray(new Parameter[0]); + Parameter[] ps = (existParameterList == null) ? new Parameter[0] : existParameterList.toArray(new Parameter[0]); - this.editorPane.populate(ParameterHelper.analyzeAndUnionSameParameters(paramTexts, ps)); + this.editorPane.populate(ParameterUtils.analyzeAndUnionParameters(paramTexts, ps)); } @@ -382,7 +383,7 @@ public class DBTableDataPane extends AbstractTableDataPane { return; } - refresh(); + refreshParameters(); } @@ -487,6 +488,9 @@ public class DBTableDataPane extends AbstractTableDataPane { } + // 保存前 刷新下参数列表 保证获取到最新的参数 + refreshParameters(); + List parameterList = this.editorPane.update(); ParameterProvider[] parameters = parameterList.toArray(new ParameterProvider[0]); @@ -511,7 +515,7 @@ public class DBTableDataPane extends AbstractTableDataPane { @Override public void actionPerformed(ActionEvent e) { - DBTableDataPane.this.refresh(); + DBTableDataPane.this.refreshParameters(); }