链接sap.m.table同一行上的多个模型

时间:2015-02-27 00:50:22

标签: sapui5 sap.m

这可能是一个基本问题,但这是我的第一个问题,所以请善待: - )。

我有一个带有两个模型的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值?

1 个答案:

答案 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值。