【问题标题】:SAPUI5 SAPUI5 XML model add itemSAPUI5 SAPUI5 XML 模型添加项
【发布时间】:2017-03-20 08:20:20
【问题描述】:

我有一个绑定到表的 XML 模型,我想在模型中添加一个新行。 XML 数据本身相当简单:

<gettagevents>
<tageventlist>
    <tagevent>
        <time>2011-09-09T14:29:16.302Z</time>
        <factory>06</factory>
        <materialcode>21</materialcode>
        <serial>16999991231</serial>
    </tagevent>
    <tagevent>
        <time>2011-09-09T14:29:17.101Z</time>
        <factory>06</factory>
        <materialcode>21</materialcode>
        <serial>16999991232</serial>
    </tagevent>
</tageventlist>

唯一相关的是序列号,因此我只需为模型添加一个新序列号即可。我已经阅读了有关 document.createElement 的信息,我想它可能对我有用,但我没有得到它的工作。

我的控制器中有这个部分:

var oTable = this.getView().byId("tbl_det3_rfid");
var oSerial = "1234567890";
var oModel = oTable.getModel();
var aData = oModel.getProperty("/tageventlist/tagevent/serial")

谁能帮我完成这项工作,所以在我的模型中添加一个新行,例如序列号1234567890?

谢谢,

提姆

【问题讨论】:

  • 你的模型当前是如何绑定到表格的?
  • 在我的 xml 视图中,我像这样绑定项目: items="{path: '/tageventlist/tagevent'}" 然后使用 {serial} 显示值和绑定本身 var oTable = this.getView().byId("tbl_det3_rfid"); oTable.setModel(oRfidModel);

标签: xml sapui5


【解决方案1】:

我认为XML Model control 不允许您添加新记录。但是,您可以从模型中获取 XML 对象并使用 jQuery 将 XML 节点附加到它。在此之后,您必须更新模型才能在表中看到新节点。

var oXML = oModel.getObject("/tageventlist");
$(oXML).append("<tagevent><time>2011-09-09T14:29:16.302Z</time><factory>06</factory><materialcode>21</materialcode><serial>16999991236</serial></tagevent>");
oModel.refresh(); 

【讨论】:

  • 回到上面的这个问题。有趣的是,上面的场景在 Chrome 中有效,但在 IE 中它不会将新行添加到模型中。在 Chrome 中,刷新模型后,显示新行,在 IE 中不显示。没有错误消息,只是新行不可见。有什么想法吗?
  • 很抱歉没有时间检查这个。我已经在您打开的新线程上发布了您的问题的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多