You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Sirius属性视图中正确配置Set operation?

属性视图值修改同步表格的Set操作配置方案

问题描述

基于自定义规则实现了表格模型与视图,同时创建了属性视图——选中表格行时会展示对应元素的详情。当前问题:修改属性视图文本框内的属性值后,无法同步更新到表格中。已添加Set操作,但配置存在问题。

相关信息

  • 模型结构截图
  • 属性视图界面截图
  • 获取值的服务方法 service:getVal():
public String getVal(EObject context) {
    String toReturn = "";
    if (context instanceof PropertyEntry entry) {
        IValueData data = (ValueData) entry.getValue();

        toReturn = data.getData();
    }

    return toReturn;
}
  • 尝试过的Set操作配置截图
  • 设置值的服务方法 service:setVal(var:newValue):
public void setVal(EObject context, String newValue) {
    if (context instanceof PropertyEntry entry) {
         IValueData valueData = (ValueData) entry.getValue();
         valueData.setData(newValue);
    }
}

正确配置步骤

  1. 绑定上下文实例
    确保Set操作的上下文与表格行对应的PropertyEntry实例一致,保证属性视图的选中对象能作为setVal方法的context参数传入。

  2. 参数映射配置
    在Set操作的配置界面:

  • Operation字段选择service:setVal(var:newValue)方法;
  • Parameter Mapping区域添加映射:
    • 参数名填写newValue,值来源选择UI Control Value(即当前文本框的输入值);
    • context参数无需手动配置(多数框架会自动将选中的PropertyEntry作为上下文传入,若需手动设置则选择Selected Element作为值来源)。
  1. 添加模型更新通知
    修改setVal方法,在更新数据后触发EObject的属性变更通知,让表格视图感知到数据变化:
public void setVal(EObject context, String newValue) {
    if (context instanceof PropertyEntry entry) {
         IValueData valueData = (ValueData) entry.getValue();
         valueData.setData(newValue);
         // 添加变更通知,触发视图刷新
         if (entry.eResource() != null) {
             entry.eResource().getNotificationService().notifyChanged(new NotificationImpl(NotificationImpl.SET, null, newValue) {
                 @Override
                 public EObject getNotifier() {
                     return entry;
                 }
             });
         }
    }
}

如果你的PropertyEntry或ValueData实现了Notify接口,也可以直接调用对应通知方法完成视图刷新触发。

  1. 验证方法签名匹配
    检查Set操作配置中的方法签名是否与setVal完全一致,重点确认newValue的参数类型为String。

完成以上配置后,修改属性视图文本框的值时,会正确调用setVal更新数据并触发表格视图刷新,实现值的同步显示。

内容的提问来源于stack exchange,提问作者Marco Savini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 00:29:56