openui5:如何在 RowRepeater 中获取当前 JSON 模型元素

2024-04-15

我无法获取绑定到 RowRepeater 元素的当前 JSON 模型元素。 对于表和列表,我只需检索当前索引(或多个索引),并根据这些值,指向 JSON 模型中的匹配元素。

但是,RowRepeater 元素没有当前索引属性。我觉得我应该能够直接检索当前元素,而不是通过当前索引间接检索当前元素,是否有更好、统一的方法来检索当前元素?

模型示例代码:

    var mydata = {
        "data": [
            {
                "key": "67b895bf-8d89-11e3-94a7-0000005341de",
                "name": "my 1st item"
            },
            {
                "key": "7780de05-8d83-11e3-bec4-0000005341de",
                "name": "my 2nd item"
            }
        ]
    };
    var oModel = new sap.ui.model.json.JSONModel();
    oModel.setData(dummydata);
    sap.ui.getCore().setModel(oModel);

RowRepeater 的示例代码(我想在按下删除图标时检索当前的“键”):

    var oRowRepeater = new sap.ui.commons.RowRepeater();

    //create the template control that will be repeated and will display the data
    var oRowTemplate = new sap.ui.commons.layout.MatrixLayout();

    var  matrixRow, matrixCell, control;

    // main row
    matrixRow = new sap.ui.commons.layout.MatrixLayoutRow();

    //Text
    control = new sap.ui.commons.TextView();
    control.bindProperty("text","name");

    //add content to cell, cell to row
    matrixCell = new sap.ui.commons.layout.MatrixLayoutCell();
    matrixCell.addContent(control);
    matrixRow.addCell(matrixCell);

    //delete icon
    var icon = new sap.ui.core.Icon({
        src: sap.ui.core.IconPool.getIconURI("delete"),
        size: "16px",
        color: "#333",
        activeColor: "#BBB",
        hoverColor: "#888",
        width: "60px",
    });
    icon.attachPress(function(oEvent) {
        sap.ui.commons.MessageBox.alert("TODO: Implement delete based on current/data/?/key");
    });

    //add content to cell, cell to row
    matrixCell = new sap.ui.commons.layout.MatrixLayoutCell({ hAlign : sap.ui.commons.layout.HAlign.Right });
    matrixCell.addContent(icon);
    matrixRow.addCell(matrixCell);

    // add row to matrix
    oRowTemplate.addRow(matrixRow);

    //attach data to the RowRepeater
    oRowRepeater.bindRows("/data", oRowTemplate);

以下对我有用

icon.attachPress(function(oEvent) {
    sap.ui.commons.MessageBox.alert(this.getBindingContext().getProperty('name'));
});

选定的对象

var seletedRow = this.getBindingContext().getObject()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openui5:如何在 RowRepeater 中获取当前 JSON 模型元素 的相关文章

  • 未捕获的类型错误:Fragment.load 不是函数[重复]

    这个问题在这里已经有答案了 下面的代码是从 UI5 演示套件复制的 但是当我运行它时 控制台显示该函数的错误消息Fragment load不是一个函数 请提出任何替代方案或突出显示问题 如果有 sap ui define sap ui co
  • OData 模型不起作用

    我正在尝试使用expand我的 XML 视图中的选项 但它没有产生任何数据 正如我在 网络 选项下的调试中看到的那样 数据来自后端 但 XML 视图中似乎存在一些绑定问题 组件 js sap ui define sap ui core UI
  • _oDialog.destroy() 之后出现“setInitialFocusId”错误

    调用后再次尝试打开对话框片段时出现以下错误this oDialog destroy 未捕获的类型错误 无法读取 null 的属性 setInitialFocusId 我的问题就像这里所说的问题 关闭后如何清除dialog xmlfragme
  • 在不同控制器中创建片段时出现重复 ID 错误

    所以 我正在构建一个基本上是 CRUD 的应用程序 在此应用程序中 我有以下视图 控制器 访问编辑 and 请求新 At the 请求新控制器 我有一个处理按钮按下的函数 onRequestNewAddCustomerPress funct
  • 如何找到加载缓慢的 SAPUI5 应用程序的加载瓶颈

    我正在构建一个自定义 SAPUI5 应用程序 其中包含七个图表 sap viz ui5 controls VizFrame 在页面的标题内容中 嵌套在sap suite ui commons ChartContainer 和网格表 sap
  • SapUI5-平铺容器不工作

    由于某种原因 tilecontainer 无法工作 如果我放置一个列表而不是 Tiles 它工作正常 我正在尝试构建一个包含图块的简单应用程序 我是 SAPUI5 的新手 这是XML的代码
  • SAPUI5中的“apply()”函数是什么

    我知道这是一个愚蠢的问题 但我在很多地方看到了以下声明 something apply this arguments 有人可以向我解释一下这个函数的使用或者给我指出某种文档吗 apply 是 javascript 函数的方法 请参阅文档ap
  • Sapui5:如何在smarttable中设置初始排序顺序?

    我有一张智能桌子 如何在智能表的一列或多列上设置初始排序顺序
  • 如何将表列过滤器与格式化列一起使用?

    我有一个 JSON 模型 其中包含一些存储为纪元值的日期值 var oData string SomeValue date 1404172800000 当我加载模型时 我使用以下方法将此纪元转换为正确的 Javascript Date 对象
  • 查看休假事件

    我在 SAPUI5 应用程序中声明了一个视图控制器 现在我想要离开视图时执行任务由用户 已经可以添加回调函数了attachRoutePatternMatched现在 为了在用户导航视图时执行任务 我需要一个等效的函数来处理视图的离开 我用一
  • 在没有 SAP 许可证的情况下在 OpenUI5 中创建和使用自定义主题的步骤是什么?

    我正在寻找有关如何在自定义 OpenUI5 应用程序中创建和使用自定义主题的步骤 端到端 我查看了 GitHub 中的 OpenUI5 代码 就端到端流程而言 我仍然有点不清楚 这是到目前为止我所理解的 每个控件都有自己的 less每个主题
  • 使用模型进行 ID 分配

    我尝试使用模型绑定将 ID 分配给选择控件中的项目 但最终出现错误 这是我的代码 Model languages language English locale en language German locale de 选择控制 var o
  • 用于突出显示表格行或列的替代颜色

    表格替代颜色为开发指南中建议 https openui5 hana ondemand com 1 34 0 docs guide 7ec7885ce75c4237aadc67d83f64b66e html不起作用 salesarea tbo
  • 使用 OData 服务时无法加载资源

    你好 社区 我需要一些帮助 我的 odata 服务已经在运行 并且我有一个像这样的网址 https myclient port sap opu odata SAP servicename SRV MaterialListSet https
  • UI5中单向绑定和一次性绑定的区别

    UI5中一次性绑定和单向绑定有什么区别 是否有任何特定于用户的用例我会使用它们中的每一个 我无法从文档中获得太多信息 One way 它能做什么 单向数据流 模型数据的变化 例如通过setProperty 会稳定地传播到 UI 中感兴趣的元
  • 聚合绑定模板共享错误

    当我在 SAPUI5 应用程序中使用 PlanningCalendar 控件时 出现以下错误 它不是我要销毁或重新创建的元素 而只是用于显示数据 因此 我认为我不需要担心这个错误 有什么办法可以摆脱它吗 为什么它会与计划日历一起出现 我使用
  • 如何正确处理 SAPUI5 中的 Edm:DateTime 表单 OData 接口? [复制]

    这个问题在这里已经有答案了 是否有定义应在 SAP Netweaver Gateway 服务的 OData Edm DateTime 中发送哪些值 特别是它应该始终被解释为 UTC 吗 我假设 SAPUI5 库足够智能 如果接口定义正确 可
  • 更新 UI5 中的模型,使用格式化程序时双向数据绑定变为单向数据绑定

    在我的 UI5 应用程序中 我有一个表 其中每行包含一个sap m Switch https sapui5 hana ondemand com api sap m Switch 它通过以下方式绑定到模型formatter https sap
  • 在客户端 SAPUI5 中仅过滤 sap.m.List

    我正在寻找仅在客户端过滤列表 并让其他类似表等在服务器端过滤 是否有任何选项可以添加到列表中以在客户端进行过滤 问候 您可以使用操作模式v2 ODataModel 的参数 该参数可以设置为模型级别 https openui5 hana on
  • SAP Web IDE 显示有关 ES6+ 功能的错误

    for var items in selectedContexts var downloadModel parsed parsed items toString split 1 parsed items toString split 2 v

随机推荐