这可能是一个基本问题,但这是我的第一个问题,所以请善待: - )。
我有一个带有两个模型的sap.m.table,一个带有事务数据的模型(trxModel)和另一个用于显示sap.m.select列表(reasonCodeModel)的模型。表模型设置为trxModel。
当选择原因代码列表中的值时,下拉列表中的选定值键需要更新trxModel中的值(ReasonCodeID)。
我可以在更改事件中检索所选键
var selKey = evt.getParameter("selectedItem").getKey();
是否有一种简单的方法可以从表格行中找到trxModel相关的模型路径选择列表值我刚刚修改过?或者是否可以将ReasonCodeID从trxModel绑定到reasonCodeModel中的ReasonCodeID字段?
只是一条额外的信息,当前行已被选中且可以访问
var selItem = dtlTable.getSelectedItem();
第二个问题,我猜可能有点相关,有没有办法根据表格的选定项目(突出显示的行)获取表格模型路径?反之亦然?
有关Select& amp;&amp ;;的详细信息表绑定。
var tabTemplate = new sap.m.ColumnListItem(
{
::
new sap.m.Select(
"idReasonCodeSelect",
{
enabled : false,
change : function(evt) {
oS4View.getController().changeReasonCodeSel(evt);
}
}
),
绑定资源代码选择表格
// bind the reason codes to the reason code model
sap.ui.getCore().byId("idReasonCodeSelect").setModel(
oReasonCodeModel);
sap.ui.getCore().byId("idReasonCodeSelect").bindAggregation("items", "/results",
new sap.ui.core.Item({
key : "{ReasCodeID}",
text : "{ReasCodeDesc}"
}));
每个Qualiture注释,如何将Select键绑定到表模型ReasonCodeID值?
答案 0 :(得分:0)
我找到了解决上述问题第一部分的方法
从Select上的更改功能,我可以使用以下内容找到表模型的路径。
var path = evt.getSource().getParent().getBindingContext().sPath;
第二次更新: 在表格上的selectionChange事件中,有几个选项可以找到关联的模型路径或模型内容。
// find the model path
oModelPath = selItem.getBindingContext().getPath();
// model values
oItem = oEvent.getParameter("listItem").getBindingContext().getObject();
所以我唯一剩下的问题是,当我遍历表模型结果(trxModel)时,我想要选择列表(使用setSelectedKey)来反映trxModel中的ReasonCodeID值。