diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java b/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java index 161e8d190a..f7c4946eb6 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/utils/ReplaceUtils.java @@ -560,7 +560,7 @@ public class ReplaceUtils { } if (widget instanceof DataControl) { ValueInitializer value = ((DataControl) widget).getWidgetValue(); - if (value.getValue() instanceof DataBinding) { + if (value != null && value.getValue() instanceof DataBinding) { DataBinding binding = (DataBinding) value.getValue(); for (TableReplacementEntity entity : entities) { if (StringUtils.equals(entity.getOldName(), binding.getDataSourceName())) { @@ -572,7 +572,14 @@ public class ReplaceUtils { } } - private static void replaceTreeConfig(Object config, List entities) { + + /** + * 处理树结构的config + * + * @param config 树结构配置 + * @param entities 替换信息 + */ + public static void replaceTreeConfig(Object config, List entities) { if (config instanceof LayerConfig[]) { LayerConfig[] layerConfigs = (LayerConfig[]) config; dealWithLayerConfigs(layerConfigs, entities); @@ -600,6 +607,8 @@ public class ReplaceUtils { for (TableReplacementEntity entity : entities) { if (layerConfig.getTableData() instanceof NameTableData && StringUtils.equals(layerConfig.getTableData().getName(), entity.getOldName())) { layerConfig.setTableData(new NameTableData(entity.getNewName())); + layerConfig.setViewColumn(entity.getTargetIndex(layerConfig.getViewColumn())); + layerConfig.setModelColumn(entity.getTargetIndex(layerConfig.getModelColumn())); } } ElementCaseHelper.replaceTableDataDictionary(layerConfig.getDictionary(), (NameTableData) layerConfig.getDictionary().getTableData(), entities);