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 f5445542d8..db768e5be6 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 @@ -26,9 +26,12 @@ import com.fr.design.actions.replace.info.WidgetInfo; import com.fr.design.actions.replace.info.base.ITContent; import com.fr.design.mainframe.JTemplate; import com.fr.form.FormElementCaseProvider; +import com.fr.form.data.DataBinding; +import com.fr.form.ui.DataControl; import com.fr.form.ui.DictionaryContainer; import com.fr.form.ui.ElementCaseEditor; import com.fr.form.ui.Widget; +import com.fr.form.ui.concept.data.ValueInitializer; import com.fr.general.ComparatorUtils; import com.fr.general.data.Condition; import com.fr.general.data.TableDataColumn; @@ -492,6 +495,18 @@ public class ReplaceUtils { ElementCaseHelper.replaceTableDataDictionary(tdd, ndd, entities); } } + if (widget instanceof DataControl) { + ValueInitializer value = ((DataControl) widget).getWidgetValue(); + if (value.getValue() instanceof DataBinding) { + DataBinding binding = (DataBinding) value.getValue(); + for (TableReplacementEntity entity : entities) { + if (StringUtils.equals(entity.getOldName(), binding.getDataSourceName())) { + value.setValue(new DataBinding(entity.getNewName(), entity.getTargetField(binding.getDataBindingKey()))); + break; + } + } + } + } } /**