伙计我有问题。
我有一个带有表单的页面,所有数据都绑定好了。但不是表格。
我的目标是:
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:因为我在expenseItens集合中有三个对象,所以表上有三个空行,但所有值都是空的。所以我认为绑定正在用于识别数组,但它不适用于对象的属性绑定。
任何人都知道正确的模式是怎样的?
答案 0 :(得分:0)
您应该使用{newExpense>nfNumber}
,而不使用前面的斜杠。
由于绑定表项位于expenseItems
中,因此子属性应该 relative 绑定到此节点,即没有斜杠。
答案 1 :(得分: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
})
]
})
);