我们可以限制在"后台"屏幕上显示"枚举类型"限定符中的所需值吗?

2020-09-27 15:02发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试在后台办公室屏幕上显示枚举类型限定符中的几个值。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试在后台办公室屏幕上显示枚举类型限定符中的几个值。

付费偷看设置
发送
4条回答
Aaron 3364
1楼-- · 2020-09-27 15:47

我不确定我是否正确理解您。 您是否要过滤枚举值并仅显示其中几个? 如果是这样,您可以创建自己的编辑器,以扩展com.hybris.cockpitng.editor.defaultenum.DefaultEnumEditor

您的新编辑器可能会覆盖以下方法:

 受保护的列表 getAllValues(最终字符串valueType,最终对象initialValue)

  
 

在此方法内,您可以过滤枚举值并仅返回想要的值。

示例解决方案:

FilteredEnumEditor.java:

 包com.hybris.customextension.editors;

  导入com.hybris.cockpitng.editor.defaultenum.DefaultEnumEditor;
  导入java.util.List;

  公共类FilteredEnumEditor扩展DefaultEnumEditor {

      @Override
      受保护的List  getAllValues(最终字符串valueType,最终Object initialValue){
          List  allValues = super.getAllValues(valueType,initialValue);
          返回过滤器(allValues);
      }

      私人List 过滤器(List  allValues){
          返回allValues.subList(0,2); //获取前两个值
      }
  }


  
 

definition.xml

  

      过滤的枚举编辑器
      过滤的枚举编辑器
      杂种
       0.1 

       java.lang.Enum(?:\((。*)\))?
       com.hybris.customextension.editors.FilteredEnumEditor 
  


  

可在此处找到更多详细信息: https://help.hybris.com/6.1.0/ hcd/8bd4c25286691014b3f9876ca5816926.html

此致

Łukasz

软件心理学工程师
2楼-- · 2020-09-27 15:51

嗨Łukasz,

我遵循您的建议,但不起作用。 Hybris仍使用默认的枚举编辑器。 但是,如果我将新的编辑器添加到该bean中,它将起作用:

  
          
              
                  << entry key =" de.hybris.platform.core.HybrisEnumValue" value =" com.test.backoffice.widgets.editors.filteredhybrisenum"/>
                  
              
          
          
          
      

  

你有什么主意吗?

非常感谢!

me_for_i
3楼-- · 2020-09-27 15:43

您好,如何将其与收藏结合使用?

亦是此间程序员
4楼-- · 2020-09-27 15:43

您必须重写此方法:

  @Override
       受保护的List  getAllValues(最终字符串valueType,最终Object initialValue){
           List  allValues = super.getAllValues(valueType,initialValue);
           List 结果=新的ArrayList ();
           result.add(allValues.get(0));
           result.add(allValues.get(4));
           result.add(allValues.get(5));
           返回结果;
       }
  
  
 

致谢

卢卡斯

一周热门 更多>