我正在尝试编写一个通用的多用途表过滤器/排序器。我提出的当前解决方案要求能够知道表行的text属性的绑定。我可以很容易地获得绑定到表的模型,然后我可以获得表的所有属性。但这并没有说明表在行中显示数据的顺序。理想情况下,这可以在任何时候完成。而不是像行选择这样的东西。
我能得到的最接近属性的方法是用下面的代码获得已经计算过的绑定...
this.tableObject.getItems()[0].getCells()[0].getText()
这将返回绑定的实际值,而不是绑定本身。
以及我可以用下面这样的东西检索的路径
this.tableObject.getItems()[0].getBindingContextPath()
返回路径"/Rowsets/Rowset/0/Row/0“
但是,当表中没有数据时,这也会失败。
表的设置如下所示
<Table id="sap_Responsive_Page_0-content-build_simple_Table-1560756151819"
width="auto" noDataText="No data" mode="None" showSeparators="All" growing="true"
growingThreshold="20" growingScrollToLoad="true" class="sapUiResponsiveMargin"
items="{path:'Model>/Rowsets/Rowset/0/Row', templateShareable:true}">
然后按如下方式设置行
<Text text="{Model>RESOURCE}" width="auto" maxLines="1" wrapping="false" textAlign="Begin"
textDirection="Inherit" visible="true"/>
我期望/想要{Model>RESOURCE}
,但却收到了实际的值TEST
。有没有不同的方法来获得这个绑定?
发布于 2019-06-27 08:59:19
尝试下面的代码,以获取每行的绑定上下文。
不带别名模型
this.tableObject.getItems()[0].getBindingContext().getObject();
使用别名model
this.tableObject.getItems()[0].getBindingContext("<alias model name>").getObject();
动态获取表中每一行的上下文
我们需要附加一个按事件,以获得表中每一行的动态绑定上下文。
视图
<Table>
<columns>
<Column>
<Text text=""/>
</Column>
</columns>
<items>
<ColumnListItem vAlign="Middle" type="Navigation" press="onPressItemTable">
<cells>
<Text text="{Model>RESOURCE}" width="auto" maxLines="1" wrapping="false" textAlign="Begin" textDirection="Inherit" visible="true"/>
</cells>
</ColumnListItem>
</items>
</Table>
控制器
onPressItemTable : function(oEvent) {
console.info(`Binding context of selected row: ${oEvent.getSource().getBindingContext().getObject()}`);
}
https://stackoverflow.com/questions/56773239
复制相似问题