diff --git a/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListCache.java b/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListCache.java index fc46ff59b..740f23aa8 100644 --- a/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListCache.java +++ b/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListCache.java @@ -269,11 +269,6 @@ public class HistoryTemplateListCache implements CallbackEvent { if (size == index + 1 && index > 0) { //如果删除的是后一个Tab,则定位到前一个 MutilTempalteTabPane.getInstance().setSelectedIndex(index - 1); - JTemplate selectedFile = MutilTempalteTabPane.getInstance().getSelectedFile(); - if (!isCurrentEditingFile(selectedFile.getPath())) { - //如果此时面板上的实时刷新的selectedIndex得到的和历史的不一样 - DesignerContext.getDesignerFrame().activateJTemplate(selectedFile); - } } } } @@ -282,6 +277,13 @@ public class HistoryTemplateListCache implements CallbackEvent { if (openFileCount == 0) { DesignerContext.getDesignerFrame().addAndActivateJTemplate(); } + + JTemplate selectedFile = MutilTempalteTabPane.getInstance().getSelectedFile(); + if (!isCurrentEditingFile(selectedFile.getPath())) { + //如果此时面板上的实时刷新的selectedIndex得到的和历史的不一样 + DesignerContext.getDesignerFrame().activateJTemplate(selectedFile); + } + MutilTempalteTabPane.getInstance().repaint(); } diff --git a/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java b/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java index 968f72a59..170369da7 100644 --- a/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java +++ b/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java @@ -156,6 +156,9 @@ public class MutilTempalteTabPane extends JComponent { } public JTemplate getSelectedFile() { + if (openedTemplate.size() == selectedIndex) { + selectedIndex = Math.max(--selectedIndex, 0); + } return openedTemplate.get(selectedIndex); } 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 693722812..f9433aade 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 @@ -427,7 +427,7 @@ public class SmartInsertDBManipulationPane extends DBManipulationPane { dealSelectColRow(add, cellselection); } else { ColumnRow columnRow = ColumnRow.valueOf(cellselection.getColumn(), cellselection.getRow()); - String allColumnRow = columnRow.toString(); + String allColumnRow = newValue.toString(); if (!allColumnRow.contains(columnRow.toString())) { add.addColumnRow(columnRow); }