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

问题描述 投票:0回答:4

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


                value="{formulaData>/CustomKeyDataTypeID}"  >


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



            </ComboBox>

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

combobox sapui5
4个回答
4
投票

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

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


2
投票

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


2
投票

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 - 这就是你需要的。它只允许从设计中选择项目。

1
投票

@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

© www.soinside.com 2019 - 2024. All rights reserved.