我在netweaver网关中创建了一个数据服务,我打算在SAPUI5应用程序中使用它.当我在后端测试它时,这项服务工作正常.
在我的应用程序中,我已在manifest.json中声明了此服务,但我没有将此绑定到任何UI组件.这是否意味着我需要手动触发它?这可能听起来很基本,但数据服务何时在应用程序的生命周期中实际触发?
以下是我的清单文件的摘录:
"datasources" : {
"testODataRemote" : {
"uri": "https://<hostname>:<port>/sap/opu/odata/SAP/<service_name>/",
"type": "OData",
"settings": {
"odataVersion": "2.0"
}
}
}
Run Code Online (Sandbox Code Playgroud)
"models": {
"testOData": {
"datasource": "testODataRemote"
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器在我尝试从模型中获取数据的方法之一:
var oModel = this.getView().getModel("testOData");
var aData = oModel.getProperty("/entityset_name");
Run Code Online (Sandbox Code Playgroud)
这不起作用.我的猜测是服务没有被触发.
我想value通过value从另一个page或另一个输入区域取一个来设置文本。这是我的文本字段。我为尝试了多种组合this.byId("thisOne").,但没有用。
this.byId("thisOne").setValue("Some thing");
Run Code Online (Sandbox Code Playgroud)
其它的办法:
sap.ui.getCore().byId("thisOne")....
Run Code Online (Sandbox Code Playgroud)
文字元素:
<Text text="" id ="thisOne"/>
Run Code Online (Sandbox Code Playgroud)
我的XML文件:
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m" controllerName="App.view.Take"
xmlns:l="sap.ui.layout"
xmlns:f="sap.ui.layout.form">
<Page showHeader="false">
<Label text="thisOne" />
<Input text="" id="thisOne" />
<Button type="Accept" text="Accept" ></Button>
<Button type="Reject" text="Reject" ></Button>
</Page>
</mvc:View>
Run Code Online (Sandbox Code Playgroud) 我在Component.js中添加了一个命名模型.我可以从任何视图访问带有其名称的模型,但我想从其中一个对我不起作用的控制器访问此模型.
sap.ui.core.getModel("modelName")无效,sap.ui.getCore().getModel("modelName")也无效.
如何从控制器中引用其包含的Component和命名模型?
谢谢
加纳
我有一个表结合并从ES4 SAP系统消耗的公开可用的OData服务,我的根实体集ProductSet,它有2个导航性能:"ToSupplier" +"ToSalesOrderLineItems",我能发出"展开"参数表绑定如下,但是你可以帮助我如何传递两个导航属性,以便oData服务扩展"ToSupplier"+"ToSalesOrderLineItems"?
谢谢密山
<TextArea id="message"
maxLength="100"
width="100%"
valueLiveUpdate="true"
showExceededText="false"
placeholder="Type here.."
required="true"
/>
Run Code Online (Sandbox Code Playgroud)
onInit: function() {
// ...
this.getView().byId("message").setText("");
},
Run Code Online (Sandbox Code Playgroud)
在这里,我尝试了两个命令来清除文本区域值.但是得到了错误
this.getView().byId("message").setText("");
TypeError:this.getView(...).byId(...).setText不是函数
sap.ui.getCore().byId("message").setText("");
TypeError:sap.ui.getCore(...).byId(...)未定义.
如何从JS中清除TextArea值?
我正在使用 SAP UI5 1.52。我的格式化程序文件是一个单独的文件并加载到控制器中。但登录this格式化程序会返回视图实例而不是控件实例。
我之前曾提到过这个问题,并尝试使用绝对路径并更改了格式化程序中返回对象的方式。它抛出一个错误,指出找不到函数。
我在 SAP Web IDE 中创建了一个项目。在那里我看到了一个名为.che的文件夹。有人可以解释为什么我们需要使用该文件夹吗?如果我们不使用它会怎样?