我正在使用sap.m.Table,其中我有3列,如sap.m.text,sap.m.setect,最后一个是按钮 .
我的型号代码
var oModel = new sap.ui.model.odata.OData("url");
sap.ui.getCore().setModel(oModel ,"data");
表视图代码(单元格)
var oTemplate = new sap.m.ColumnListItem({
cells : [
new sap.m.Text({
text: "{data>Address}"
}),
new sap.m.Select({
id:"sel",
items: {
path: "data>/OPERATORS", // this is a diffent table
template: new sap.ui.core.Item({
text: "{data>firstName} {data>lastName}"
})
},
forceSelection: false
}),
new sap.m.Button({
text : "Start",
press : [oController.onPressStart, oController]
})
]
});
oTable.bindItems("data>/ORDR", oTemplate); //differnt table
工作正常,获取特定表上的所有必需数据 . (注意第一列来自ORDR表,第二列来自OPERATORS表) .
现在点击按钮我想要特定的行数据 . 我的代码如下 -
onPressStart : function(oEvent){
var obj = oEvent.getSource().getBindingContext("data").getObject();
},
“obj”给了我ORDR表行对象(按下按钮的地方) .
现在我也想要在下拉框中选择的值 . 怎么弄它 .
请指教,谢谢
JSbin Link - http://jsbin.com/quhomoloqo/edit?html,console,output
1 回答
看这个工作示例:
请注意(为了这个问题)如何创建两个模型:一个名为'orig',其中包含原始的
OPERATOR
和ODRD
数据,另一个名为'data',其中包含OPERATOR
数据的副本,并添加了Address
属性 .请参阅有关如何使用这两个模型的视图代码(表中的新模型,用于填充下拉列表的旧模型)