我创建了一个行转发器。行转发器模板由一个包含表格的面板组成。
我为行中继器设置了一个模型,表格使用相同的模型,但路径不同。
行中继器行的模型作为属性LEVEL。现在我想在表格中仅显示具有相同级别的值的行。所以我试着像这样过滤掉那个值:
oTemplateTable.bindRows({
path: "/ROOT_COMPONENT",
sorter: new sap.ui.model.Sorter("NAME"),
filters: [new sap.ui.model.Filter(
"LEVEL",
sap.ui.model.FilterOperator.EQ, "{LEVEL}")]
});
但是这没用。我需要一些方法来获取表所在行的级别值。有人有想法吗?
答案 0 :(得分:0)
ROOT_COMPONENT和ROOT_STATISTICS都是对象(即{{data},{data}}
)包含对象,而不是包含对象的数组(即[{data}, {data}]
),所以我怀疑你能否正确呈现RowRepeater
此外,我认为过滤器中的{LEVEL}
参数会回退到ROOT_COMPONENT(因为您将表格绑定到的地方),而不是ROOT_STATISTICS。
我认为如果您可以将JSON响应重新编写为更加层次化的响应,那么您可以省去很多麻烦,因此您无论如何都不需要过滤器:
[{
name : "ABC",
tableData : [
{
amount : 20
}]
},
{
name : "DEF",
tableData : [
{
amount : 1
}]
}]
这样您只需将rowrepeater绑定到根节点,将表绑定到相对子tableData