diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java index 3c4cbf70c7..86086abdd6 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartTooltipContentPane.java @@ -47,6 +47,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -463,9 +464,15 @@ public class VanChartTooltipContentPane extends BasicBeanPane params) { List tableFieldNames = VanChartRichEditorPane.getFieldNames(); + List defaultParams = Arrays.asList(getRichTextFieldNames()); - if (tableFieldNames != null && params != null) { - for (String fieldName : tableFieldNames) { + if (tableFieldNames == null || params == null) { + return; + } + + for (String fieldName : tableFieldNames) { + // 富文本默认参数和数据集字段重名时,显示默认参数 + if (!defaultParams.contains(fieldName)) { params.put(fieldName, "${" + fieldName + "_" + fieldName.hashCode() + "}"); } } diff --git a/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java b/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java index 3fe1268793..d306bb1793 100644 --- a/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java +++ b/designer-realize/src/main/java/com/fr/design/write/submit/SmartInsertDBManipulationPane.java @@ -310,9 +310,9 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane { // 单元格组要记录下之前的选中情况 private CellSelection oriCellSelection = null; - private List newAdd = new ArrayList<>(); + private List newAdd = new ArrayList(); - private List oldAdd = new ArrayList<>(); + private List oldAdd = new ArrayList(); public SmartJTablePane4DB(KeyColumnTableModel model, ElementCasePane actionReportPane) { this(model, actionReportPane, false); @@ -433,8 +433,7 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane { if (!allColumnRow.contains(columnRow.toString())) { add.addColumnRow(columnRow); } - // 重新更换区域框选单元格后 清理历史框选 - oldAdd.clear(); + } if (add.getSize() > 0) { @@ -460,11 +459,10 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane { TemplateCellElement cellElement = ePane.getEditingElementCase().getTemplateCellElement(c + i, r + j); if (cellElement != null && ((i + c) != 0 || (r + j) != 0)) { String value = cellElement.toString(); - ColumnRow columnRow = ColumnRow.valueOf(value); - if (!newAdd.contains(columnRow) && !allColumnRow.contains(value)) { - add.addColumnRow(columnRow); + if (!newAdd.contains(value) && !allColumnRow.contains(value)) { + add.addColumnRow(ColumnRow.valueOf(value)); } - newAdd.add(columnRow); + newAdd.add(value); } if (cellElement == null) { @@ -472,14 +470,16 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane { if (!allColumnRow.contains(columnRow.toString())) { add.addColumnRow(columnRow); } - newAdd.add(columnRow); + newAdd.add(columnRow.toString()); } } } - // 计算出前后两次选中的差值 - oldAdd.removeAll(newAdd); - // 移除差值部分 - newValue.removeAll(oldAdd); + int oldSize = oldAdd.size(); + int newSize = newAdd.size(); + if (oldSize > newSize && oldAdd.containsAll(newAdd)) { + int diff = oldSize - newSize; + newValue.splice(newValue.getSize() - diff, diff); + } oldAdd.clear(); oldAdd.addAll(newAdd); }