2014-10-04 46 views
0

夥計們我遇到了問題。SAPUI5 - 如何綁定表中子列表的正確屬性?

我有一個表格的頁面,所有的數據綁定好。但不是桌子。

我的目標是:

this.getView().getModel('newExpense').setData({ 
    desiredPaymentDate: new Date(), 
    isAdvancedPayment: false, 
    expenseItens: [ 
    {expenseType: 'tipoteste', 
     nfnumber: 'nf123456', 
     date: new Date(), 
     value: '1345.43' 
    }, 
    {expenseType: 'tipoteste2', nfnumber: 'nf123453'}, 
    {expenseType: 'tipoteste3', nfnumber: 'nf123454'} 
    ] 
}); 

所以我的形式,一切正常,頭字段(desiredPaymentDate和isAdvancedPayment),但我想要綁定我itens在這樣的表:

oExpenseItensTable.bindItems('newExpense>/expenseItens', 
     new sap.m.ColumnListItem({ 
      cells: [ 
       new sap.m.Input({ 
        value: '{expenseItens>/expenseType}', 
        type: 'Text' 
       }), 
       new sap.m.Input({ 
        value: '{>/nfnumber}', 
        type: 'Text' 
       }), 
       new sap.m.Input({ 
        value: '{/expenseItens>/date}', 
        type: 'Text' 
       }), 
       new sap.m.Input({ 
        value: '{/expenseItens/value}', 
        type: 'Text' 
       }), 
       new sap.m.Button({ 
        icon: 'sap-icon://delete', 
        tooltip: 'Remover item de despesa', 
        press: oController.removeExpenseItem 
       }) 
      ] 
     }) 
    ); 

而我幾乎在那裏...我嘗試每種類型的字段綁定...我試過{nfnumber},{/ nfnumber},{>/nfnumber},{expenseItens>/nfnumber}, {/ expenseItens> nfnumber},{Nfnumber}。但沒有什麼作品...

PS:因爲我在費用收集有三個對象,表中有三個空行,但所有的值都是空的。所以我認爲綁定正在識別數組,但它不適用於對象的屬性綁定。

任何人都知道如何正確的模式?

回答

0

您應該使用{newExpense>nfNumber},沒有前面的斜槓。 因爲綁定表項目在expenseItems中,所以子節點屬性應該被綁定到相對到這個節點,即沒有斜線。

0

我相信你的代碼應該是這樣的 oExpenseItensTable.bindItems( 'newExpense>/expenseItens',

new sap.m.ColumnListItem({ 
     cells: [ 
      new sap.m.Input({ 
       value: '{newExpense>expenseType}', 
       type: 'Text' 
      }), 
      new sap.m.Input({ 
       value: '{newExpense>nfnumber}', 
       type: 'Text' 
      }), 
      new sap.m.Input({ 
       value: '{newExpense>date}', 
       type: 'Text' 
      }), 
      new sap.m.Input({ 
       value: '{newExpense>value}', 
       type: 'Text' 
      }), 
      new sap.m.Button({ 
       icon: 'sap-icon://delete', 
       tooltip: 'Remover item de despesa', 
       press: oController.removeExpenseItem 
      }) 
     ] 
    }) 
);