2017-03-20 69 views
0

我有一個XML模型綁定到一個表,我想添加一個新的行到模型。 XML數據本身是相當簡單:SAPUI5 SAPUI5 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?

感謝,

+0

您的模型如何綁定到表格? –

+0

在我的XML視圖中我綁定這樣的項目:items =「{path:'/ tageventlist/tagevent'}」,然後使用{serial}顯示值和綁定本身\t var oTable = this.getView()。 byId( 「tbl_det3_rfid」); \t oTable.setModel(oRfidModel); – Tim

回答

0

我不認爲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(); 
+0

謝謝史蒂芬,工作正常! – Tim

+0

回到上面的這個問題。有趣的是,上面的情況在Chrome中可行,但在IE中它不會將新行添加到模型中。在Chrome中,刷新模型後,顯示新行,在IE中不顯示。沒有錯誤信息,只是新行不可見。有任何想法嗎? – Tim

+0

對不起沒有時間檢查這個。我已經在您打開的新主題上發佈了針對您問題的解決方案。 –