组合框文本应为只读

2020-08-24 05:16发布

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

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


专家们,

如何使组合框文本输入为只读。 我知道还有另一个sap.m.Select控件,但如有可能,建议我是否不需要将控件从组合框更改为"选择"。 它将减少许多地方的代码更改工作。

我关注了以下链接,但没有帮助。

https://answers.sap.com/ Questions/12015943/combobox-prevent-user-from-typing.html

感谢和问候

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

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


专家们,

如何使组合框文本输入为只读。 我知道还有另一个sap.m.Select控件,但如有可能,建议我是否不需要将控件从组合框更改为"选择"。 它将减少许多地方的代码更改工作。

我关注了以下链接,但没有帮助。

https://answers.sap.com/ Questions/12015943/combobox-prevent-user-from-typing.html

感谢和问候

付费偷看设置
发送
8条回答
小c菟菟
1楼-- · 2020-08-24 05:46

SAP Fiori,您好

您是否尝试过使用select语句,不是吗?

 <选择
 forceSelection =" false"
 selectedKey =" {/SelectedProduct}"
 items =" {
 路径:"/img/ProductCollection",
 分类器:{路径:"名称"}
 }">
 
 
 


对于不允许的用户更改和写入我使用过的组合框。

致谢,
Sebastiano

黑丝骑士
2楼-- · 2020-08-24 05:40

..........

悠然的二货
3楼-- · 2020-08-24 05:49

我知道了 选项,但不知道是否可以使用。 不知道如何实现。
https://sapui5.hana.ondemand.com/#/api/sap.m.InputBase%23methods/setEditable

 onPress:function(){
    var myJSON1 = {
      数据:[{
       原因:"原因1"
      },{
       原因:"原因2"
      },{
       原因:"原因3"
      },{
       原因:"原因4"
      }]
     };
     var oModelcom = new sap.ui.model.json.JSONModel(myJSON1);
     sap.ui.getCore()。setModel(oModelcom);
     sap.ui.getCore()。byId(" combobox1");
     var oItem1 = new sap.ui.core.Item(" items",{
      文字:" {原因}"
     });
     var inputBase = new sap.m.InputBase();
     inputBase.setEditable(false);
//oItem1.addEventDelegate({
//onAfterRendering:function(){
//oItem1。$()。find(" combobox1")。attr(" readonly",true);
//}
//});
     如果(!this.dialog){
      var dialog = new Dialog({
       标题:"原因",
       宽度:" 50%",
       类型:"消息",
       内容:[
        新标签({
         宽度:" 50%",
         文字:"为什么?",
         labelFor:'rejectDialogTextarea'
        }),
        新的sap.m.ComboBox('combobox1',{
         宽度:" 50%",
         启用:true,
         项目:{
          路径:"/数据",
          模板:oItem1
         }
        }),
        新标签({
         宽度:" 50%",
         文字:"日期?",
         labelFor:'rejectDialogTextarea'
        }),
        new sap.m.DatePicker(" datePicker1",{
         宽度:" 50%",
         valueFormat:" dd-MM-yyyy",
         displayFormat:" MM-dd-yyyy"
         值:datepickerdate
        })
       ],
      
       beginButton:新的sap.m.Button({
        文字:"好",
        按下:功能(){
                dialog.close();
        } .bind(this)
       }),
       afterClose:function(){
        dialog.destroy();
       },
       endButton:new sap.m.Button({
        文字:"取消",
        按下:功能(){
                 dialog.close();
        } .bind(this)
       })
      });
      dialog.open();
     }
   } 
我是小鹏鹏啊
4楼-- · 2020-08-24 05:33

..........

95年老男孩
5楼-- · 2020-08-24 05:35

您好 SAP Fiori

在这种情况下,您可以使用对话框的" afterOpen"方法

 afterOpen:function(){
//方式1
 this.dialog.getContent()[1]。$()。find(" input")。attr(" readonly",true);
//方式2
//sap.ui.getCore().byId("combobox1").$().find("input").attr("readonly",true);
 } .bind(this)

请找到示例工作代码:柱塞演示链接

*请注意,我已根据ui5的最佳做法更改了部分代码,希望您也照做。

关于,
Bibhu

吹牛啤
6楼-- · 2020-08-24 05:47

我可以复制此问题。请检查我是否做错了什么。

Json数据代码:

 onPress:function(){
    var myJSON1 = {
      数据:[{
       原因:"原因1"
      },{
       原因:"原因2"
      },{
       原因:"原因3"
      },{
       原因:"原因4"
      }]
     };
     var oModelcom = new sap.ui.model.json.JSONModel(myJSON1);
     sap.ui.getCore()。setModel(oModelcom);
     sap.ui.getCore()。byId(" combobox1");
     var oItem1 = new sap.ui.core.Item(" items",{
      文字:" {原因}"
     });
         如果(!this.dialog){
      var dialog = new Dialog({
       标题:"原因",
       宽度:" 50%",
       类型:"消息",
       内容:[
        新标签({
         宽度:" 50%",
         文字:"为什么?",
         labelFor:'rejectDialogTextarea'
        }),
        新的sap.m.ComboBox('combobox1',{
         宽度:" 50%",
         启用:true,
         项目:{
          路径:"/数据",
          模板:oItem1
         }
        }),
        新标签({
         宽度:" 50%",
         文字:"日期?",
         labelFor:'rejectDialogTextarea'
        }),
        new sap.m.DatePicker(" datePicker1",{
         宽度:" 50%",
         valueFormat:" dd-MM-yyyy",
         displayFormat:" MM-dd-yyyy"
         值:datepickerdate
        })
       ],
      
       beginButton:新的sap.m.Button({
        文字:"好",
        按下:功能(){
                dialog.close();
        } .bind(this)
       }),
       afterClose:function(){
        dialog.destroy();
       },
       endButton:new sap.m.Button({
        文字:"取消",
        按下:功能(){
                 dialog.close();
        } .bind(this)
       }),

  afterOpen:function(){
              sap.ui.getCore()。byId(" combobox1")。$()。find(" input")。attr(" readonly",true);
       } .bind(this)
      });

      });
      dialog.open();
     }
   } 

Odata代码:

 onPress:function(){
        var url ="/img/sap/opu/odata/sap/ServicesName_SRV/";
    var oModel = new sap.ui.model.odata.v2.ODataModel(url,{
     json:是
    });
    sap.ui.getCore()。setModel(oModel);
    sap.ui.getCore()。byId(" combobox");
    var oItem = new sap.ui.core.Item(" items",{
     文字:" {reason}"
    });
         如果(!this.dialog){
      var dialog = new Dialog({
       标题:"选择删除原因",
       宽度:" 50%",
       类型:"消息",
       内容:[
        新标签({
         宽度:" 50%",
         文字:"为什么角色不需要访问权限?",
         labelFor:'rejectDialogTextarea'
        }),
        新的sap.m.ComboBox('combobox1',{
         宽度:" 50%",
         启用:true,
        //项目:{
        //路径:"/img/Data",
        //模板:oItem1
        //}
          项目:{
         路径:"/img/EntitySet",
         模板:oItem
        }
        }),
        新标签({
         宽度:" 50%",
         文字:"何时不需要访问?",
         labelFor:'rejectDialogTextarea'
        }),
        new sap.m.DatePicker(" datePicker1",{
         宽度:" 50%",
         valueFormat:" dd-MM-yyyy",
         displayFormat:" MM-dd-yyyy"
        //值:datepickerdate
        })
       ],
      
       beginButton:新的sap.m.Button({
        文字:"好",
        按下:功能(){
       //that.RejectCondition();
         dialog.close();
        } .bind(this)
       }),
       afterClose:function(){
        dialog.destroy();
       },
       endButton:new sap.m.Button({
        文字:"取消",
        按下:功能(){
        //that.Condition();
         dialog.close();
        } .bind(this)
       }),
       afterOpen:function(){
               sap.ui.getCore()。byId(" combobox1")。$()。find(" input")。attr(" readonly",true);
       } .bind(this)
      });
      dialog.open();
     }
   }
 

一周热门 更多>