From 934b2a76eaa9a7b7925f371055810aea5ac48701 Mon Sep 17 00:00:00 2001 From: "shengzu.xue" Date: Thu, 13 Mar 2025 16:49:53 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-149091=20=E4=BF=AE=E5=A4=8D=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E5=8F=82=E6=95=B0=E5=88=87=E6=8D=A2=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dscolumn/SelectedDataColumnPane.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/dscolumn/SelectedDataColumnPane.java b/designer-realize/src/main/java/com/fr/design/dscolumn/SelectedDataColumnPane.java index de10613835..421bfdb766 100644 --- a/designer-realize/src/main/java/com/fr/design/dscolumn/SelectedDataColumnPane.java +++ b/designer-realize/src/main/java/com/fr/design/dscolumn/SelectedDataColumnPane.java @@ -21,6 +21,7 @@ import com.fr.design.mainframe.ElementCasePane; import com.fr.design.utils.gui.UIComponentUtils; import com.fr.design.widget.FRWidgetFactory; import com.fr.general.data.TableDataColumn; +import com.fr.log.FineLoggerFactory; import com.fr.report.cell.CellElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.cellattr.core.group.DSColumn; @@ -373,13 +374,33 @@ public class SelectedDataColumnPane extends BasicPane { update(SelectedDataColumnPane.this.cellElement); casePane.fireTargetModified(); } + @Override + public void doCancel() { + editorPane.stopEditing(); + } }); - editorPane.populate(ps == null ? new Parameter[0] : ps); + editorPane.populate(ps == null ? new Parameter[0] : cloneParameterList(ps)); paramDialog.setVisible(true); } }); } + private Parameter[] cloneParameterList(Parameter[] parameters) { + if (parameters == null) { + return null; + } + try { + Parameter[] cloneParameterList = new Parameter[parameters.length]; + for (int i = 0; i < parameters.length; i++) { + cloneParameterList[i] = (Parameter) parameters[i].clone(); + } + return cloneParameterList; + } catch (CloneNotSupportedException e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + return null; + } + private boolean isColumnName(String columnExp) { return StringUtils.isNotBlank(columnExp) && (columnExp.length() > 0 && columnExp.charAt(0) == '#') && !columnExp.endsWith("#"); @@ -397,8 +418,7 @@ public class SelectedDataColumnPane extends BasicPane { public Dimension getPreferredSize() { if (this.isVisible()) { return super.getPreferredSize(); - } - else { + } else { return new Dimension(); } }