标签: sapui5

sapui5表只显示相同的记录

我创建了一个 Web 服务并尝试使用 SAPUI5 中的 oData 协议绑定数据。

我创建了一个表:

createContent : function(oController) {

      jQuery.sap.require("sap.ui.table.Table");

      //Create table control with properties

      var oTable = new sap.ui.table.Table({
          width : "100%",
          rowHeight : 50,
          title : "Lst of Items",
          selectionMode : sap.ui.table.SelectionMode.None
      });



      oTable.addColumn(new sap.ui.table.Column({
          label : new sap.ui.commons.Label({
          text : "PO Number"
          }),
          template : new sap.ui.commons.TextView({
          text : "{PoNumber}"
          }),
          }
      ));

      oTable.addColumn(new sap.ui.table.Column({
          label : new sap.ui.commons.Label({
          text : "Item"
          }),
          template : new sap.ui.commons.TextView({
          text : "{PoItem}"
          }),
          }
      ));

      //Filter …
Run Code Online (Sandbox Code Playgroud)

odata sapui5 sap-gateway

5
推荐指数
1
解决办法
7710
查看次数

从 NavContainer 调用“to”后获取下一页上传递的数据

我正在使用 SAPUI5 构建类似 Fiori 的应用程序。我已经成功构建了母版页面,在单击项目时,我传递了上下文并导航到详细信息页面。

母版页的上下文路径类似于/SUPPLIER("NAME"). in的函数App.controoler.js如下:

handleListItemPress: function(evt) {
  var context = evt.getSource().getBindingContext();
  this.myNavContainer.to("Detail", context);
  // ...
},
Run Code Online (Sandbox Code Playgroud)

但我想知道如何context在“详细信息”页面中访问它。我需要这个,因为我需要使用它$expand来构建 URL 并将项目绑定到表。

sapui5

5
推荐指数
1
解决办法
9322
查看次数

如何在控制器外部检索视图

如果我this.getView()在视图的控制器内部使用,我可以毫无问题地检索它。

如果我在控制器之外(例如在另一个视图的控制器中),如何检索视图?

我尝试sap.ui.core.Core().byId("<name of view>")但它返回undefined

sapui5

5
推荐指数
1
解决办法
3万
查看次数

SAPUI5 TreeTable - 节点扩展行为

问题是:

当我在运行时添加行时,我试图使 TreeTable 中的节点保持展开状态。TreeTable 的默认行为是,当它发生某些情况时,它会再次呈现并且所有节点都会折叠。

API 只提供了保持第一级扩展的方法,但我也喜欢保持较低级别的节点扩展。我怎样才能做到这一点?

添加行之前:

前

添加一行后:

后

期待:

期望

[编辑]

我已经尝试通过使用 Expand(iRowIndex) 来获得正确的行为,但就我而言,TreeTable 的生命周期(添加内容、重新渲染)没有帮助。

我在做什么:

我正在尝试使用拖放功能添加数据。当我们尝试将内容添加到 TreeTable 的特定位置时,我们必须获得父元素和子元素的正确位置。不幸的是,在添加上述内容后,第二个+级别被隐藏,这会扰乱我的拖放操作,因为表格行在折叠时具有不同的 ID。

基本上我需要一个像 ."setExpandFirstLevel(true)" 这样的 TreeTable 函数来处理所有其他级别。

javascript treetable sapui5

5
推荐指数
1
解决办法
7853
查看次数

Typescript:声明函数而不实现它们

是否可以声明一个类具有某些功能而不实现它们?

我需要这个,因为我创建了一个类,然后将其传递给一个 js 框架,该框架添加了几个函数。我也希望能够调用这些函数,而无需重新实现它们、重定向或转换或任何其他操作。

例子:

//example class
class AppComponent {
   constructor() {}
}

//create class
var comp: AppComponent = new AppComponent();

//hand over to framework
fw.define("Component", comp);

//now I want to be able to call the added functions such as:
comp.setModel(/*some model*/);
Run Code Online (Sandbox Code Playgroud)

class typescript sapui5

5
推荐指数
1
解决办法
5668
查看次数

如何搜索 sap.m.Tree 中的所有节点?

我目前正在为我的公司开发 MasterDetail 应用程序,该应用程序提供以节点表示的可扩展类别。

\n

在此输入图像描述

\n

节点及其子节点与导航属性的绑定不是问题。但是,如果我想在上面的搜索字段中搜索某个组节点,它只会在四个最高节点之间进行过滤。它可以搜索第一层的节点,但无法找到第一层以下的节点。

\n

树的绑定:

\n
<Tree\n    selectionChange="onSelectionChange"\n    id="list"\n    noDataText="{masterView>/noDataText}"\n    busyIndicatorDelay="{masterView>/delay}"\n    items="{path: \'/GroupNodes\',\n                parameters : {\n                expand: \'ChildGroupNodes\',\n                navigation: {\n                    \'GroupNodes\': \'ChildGroupNodes\'\n                    }\n            }\n    }">\n    <StandardTreeItem \n        title="{Stext}"\n        type="Navigation"\n        press="onSelectionChange"/>\n</Tree>\n
Run Code Online (Sandbox Code Playgroud)\n

在搜索上:

\n
    onSearch: function(oEvent) {\n        if (oEvent.getParameters().refreshButtonPressed) {\n            this.onRefresh();\n            return;\n        }\n\n        var sQuery = oEvent.getParameter("query");\n        if (sQuery) {\n            this._oListFilterState.aSearch = [new Filter("Stext", FilterOperator.Contains, sQuery)];\n        } else {\n            this._oListFilterState.aSearch = [];\n        }\n        this._applyFilterSearch();\n    },\n
Run Code Online (Sandbox Code Playgroud)\n

_applyFilter搜索:

\n
    _applyFilterSearch: function() {\n        var aFilters = this._oListFilterState.aSearch.concat(this._oListFilterState.aFilter),\n            oViewModel = this.getModel();\n\n …
Run Code Online (Sandbox Code Playgroud)

odata sapui5

5
推荐指数
1
解决办法
5468
查看次数

SAPUI5在控制器中动态创建ComboBox

目前我正在我的页面中开发 SAPUI5 应用程序。我必须根据微服务的数据动态创建组合框。

\n\n

我按照以下网址中的示例代码进行操作。\n查看源:https ://sapui5.hana.ondemand.com/test-resources/sap/m/ComboBox.html

\n\n

但是,它在我的组合框中返回空

\n\n

以下是我的示例代码。

\n\n
$.ajax({\n                    url: "json/customers.json", \n                    dataType: \'json\',\n                    success: function(response){\n                        var data= response; \n                        console.log(data);\n                        var customerModel = new JSONModel(data);\n                        console.log(customerModel);\n                        oController.getView().setModel(customerModel, "customerJSON");\n                        var ExtensionForm = oController.getView().byId("Extension_Form");\n\n                                ExtensionForm.addContent(new sap.m.ComboBox(oController.getView().createId(\xe2\x80\x9cExtensionLabelId\xe2\x80\x9d), {\n                                    items: {\n                                        path: "{ComboBoxModel>/}",\n                                        template: new sap.ui.core.Item({\n                                            key: "{ComboBoxModel>CUSTOMER_NAME}",\n                                            text: "{ComboBoxModel>CUSTOMER_NAME}"\n                                        })\n                                    },\n                                    value : "{model2>/"+ keys[i] + "/fieldvalue}",\n                                    enabled: false\n                                }));\n                    },\n                    error: function(error)\n                    {\n                        console.log("Error Message : " + JSON.stringify(error));\n                    }\n                });\n
Run Code Online (Sandbox Code Playgroud)\n

javascript ajax sapui5

5
推荐指数
1
解决办法
7040
查看次数

“使用匿名 Define() 调用的模块必须通过 require() 调用加载”

演练步骤 7:JSON 模型示例中,应用程序显然按照文档运行,但我在控制台中看到以下错误:

错误:使用匿名define()调用的模块必须通过require()调用加载;它们不能通过脚本标签执行或嵌套到其他模块中。

在我未经训练的眼睛看来,我能找到的这条消息的唯一其他实例似乎是在处理完全不同的场景

我已经尝试过 Firefox 和 Chromium、CDN 托管与本地托管、两个不同的 UI5 版本(1.77.0 和 1.79.0),都是缩小版和普通版,所以我想这确实是代码本身的问题

会是什么呢?另外,我可以安全地忽略它吗?为什么?

amd sapui5

5
推荐指数
1
解决办法
1883
查看次数

Fiori MyInbox 应用程序中的附件未异步更新?

我使用 SAP 标准库:Inbox。

\n

在图书馆课程中S3.controller,点击附件图标是onTabSelect来执行事件,女巫使

\n
this.fnDelegateAttachmentsCreation();\nthis.fnFetchDataOnTabSelect("Attachments");\nthis.fnHandleAttachmentsCountText("Attachments");\nthis.fnHandleNoTextCreation("Attachments");\nbreak;\n
Run Code Online (Sandbox Code Playgroud)\n

fnFetchDataOnTabSelect进行异步调用。在这次通话期间是fnHandleAttachmentsCountText已经执行,因此附件计数的更新发生在附件请求准备好之前。就附件请求而言,尚未执行任何标题更新。

\n

屏幕截图上是 AttachmentCountText \xe2\x80\x9eAttachnents (1/1)\xe2\x80\x9c,它来自先前选择的项目。\n它应该是 \xe2\x80\x9eAttachnents (2/2)"。

\n

在此输入图像描述

\n

此外,如果响应来得太快,则在收到请求的答案后,视图会更改为加载视图。\n如果附件列表是通过请求回调更新的,则不应第二次更新。

\n

看起来,有一些东西正在加载,但请求已经完成。

\n

在此输入图像描述

\n

如何扩展收件箱,以便在请求准备好后更新附件标题和内容?

\n

使用 SAPUI5-版本:1.71.4

\n

sapui5 sap-fiori

5
推荐指数
1
解决办法
1201
查看次数

如何将 ShellBar 与 Page 或 DynamicPage 结合起来?

代码示例:https://plnkr.co/edit/KPLJXzI4n1L0fG4Z

<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:f="sap.f">
  <App>
    <pages>
      <f:ShellBar />
      <PageOrDynamicPage>
        <!-- ... -->
      </PageOrDynamicPage>
    </pages>
  </App>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)

列表/响应表的最后一行不在屏幕上。 示例 plunk 的屏幕截图 第 100 项不可见。

我还尝试将 ShellBar 添加为 App.view.xml 中定义的根视图元素的第一个内容,这会产生双垂直滚动条。

我还尝试在应用程序周围放置一个 Shell,而不是单独的 ShellBar,但该栏未显示:https://plnkr.co/edit/Tmk6vd5CF4IEZC2y

sapui5

5
推荐指数
1
解决办法
896
查看次数

标签 统计

sapui5 ×10

javascript ×2

odata ×2

ajax ×1

amd ×1

class ×1

sap-fiori ×1

sap-gateway ×1

treetable ×1

typescript ×1