如何在sap ui5中禁用组合框的内部部分?即使其只读(用户不应该被允许键入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在sap ui5中禁用组合框的内部部分?即使其只读(用户不应该被允许键入相关的知识,希望对你有一定的参考价值。

                tooltip="Choose Data type" items="{path:'/COLUMNMETADATADATATYPES'}"


                value="{formulaData>/CustomKeyDataTypeID}"  >


                <core:Item key="{path:'DATATYPEID'}" text="{path:'DATATYPEID'}"></core:Item>



            </ComboBox>

我已经在xml视图中定义了我的组合框,如上所示我必须禁用

答案

Euh,ComboBox就是这样,DropdownBox的“组合”,带有可编辑的Textfield。

如果您不希望用户输入数据,则不需要“组合”,那么为什么不简单地使用DropdownBox呢?

另一答案

没有任何方法可以禁用用户而不是“Combobox”,您将使用“选择”控件

另一答案

tl.dr;使用sap.m.Select

通过使用sap.m.Combobox,您无法通过将其可编辑属性设置为false来同时禁用文本输入和选择。

相反,您可以使用以下选项:

  • sap.ui.commons.DropdownBox - 它会提供你所需要的东西,但它在commons命名空间中意味着它不是移动优化的。更重要的是,从版本1.38开始,它也被弃用,以支持ComboBox。将它与sap.m控件混合也不是一个好主意,请参阅:SAPUI5 deprecated themes and libraries
  • sap.m.Select - 这就是你需要的。它只允许从设计中选择项目。
另一答案

@Abul:你的意思是启用:false?这对我行得通

我正在创建一个Comboboxes数组,每次按下add按钮,我都会增加计数器:

    var oComboBox_PosA = [];
     oComboBox_PosA[COUNTER_Item] = new sap.ui.commons.ComboBox("Combo_PosA"+COUNTER_Item,{
            items : [ new sap.ui.core.ListItem({
                text : "Combo 1"
            }), new sap.ui.core.ListItem({
                text : "Combo 2"
            }) ],
            enabled: false 
        });

但Jan是对的,可以使用TextField / view或DropdownBox

以上是关于如何在sap ui5中禁用组合框的内部部分?即使其只读(用户不应该被允许键入的主要内容,如果未能解决你的问题,请参考以下文章

Internationalization(i18n) support in SAP CRM,UI5 and Hybris

SAP UI5 如何在 xml 视图中附加 HTML

如何在 SAP UI5 代码中生成 UUID? [复制]

HTML5开发移动web应用——SAP UI5篇

最简单的SAP云平台开发教程 - 如何开发UI5应用并运行在SAP云平台上

如何把SAP UI5应用部署到SAP云平台的Fiori Launchpad里去