在我的应用程序中,我有一个sap.m.table。数据在JSON模型中并绑定到表。在我的函数中,我需要循环所有表行,并检查每个可见行中特定属性的值。我可以这样确定可见的行:
sap.ui.getCore().byId("myTableId").getAggregation("items")
但是,我无法使用getBindingContext
之类的函数来确定行的属性值。
有没有提示该怎么做?
答案 0 :(得分:0)
您不应直接使用sap.ui.getCore().byId()
,而应使用this.getView().byId()
,其中this
是控制器本身。
无论如何,聚合的每个项目都有可用的绑定上下文。这取决于您用来绑定上下文的模型的名称。
在我的示例中,我正在访问表的第一项的绑定上下文对象,您可以这样做:
sap.ui.getCore().byId("__xmlview1--idPartnerList").getAggregation("items")[0].getBindingContext().getObject()
否则,如果您直接从控件访问视图(如应有的话),您可以这样做
this.getView().byId("idPartnerList").getAggregation("items")[0].getBindingContext().getObject()
答案 1 :(得分:0)
您应该能够使用以下代码获取表中每一行的 bindingContext :
如果您的本地json模型中具有别名。
sap.ui.getCore().byId("myTableId").getAggregation("items")[0].getBindingContext("<alias model name>").getObject();
否则,如果本地json模型中没有别名。
sap.ui.getCore().byId("myTableId").getAggregation("items")[0].getBindingContext().getObject();
谢谢。