Sapui5 不同大小列表项的手动排序/筛选(列表中的列表)[嵌套/深层结构绑定]

Sapui5 不同大小列表项的手动排序/筛选(列表中的列表)[嵌套/深层结构绑定],sapui5,Sapui5,我有一个带有CustomListItems的List,每个CustomListItem中存储了不同数量的文件。当我尝试对列表项进行排序和筛选时: 排序功能因以下原因而失败: 排序前和排序后: 在后排序屏幕截图中,最上面的一行不应该有那么多的空白,而最上面的第二行的空白量与前一张照片的相同(不应该)。这就像行中有幻影控件,它们没有被排序移动。此外,包含10个文件的原始最顶层行现在显示为仅包含1个文件的行(此处未显示)——这是分配给原始最底层行条目的空格数。它为什么这样做?我如何解决它 当我检查

我有一个带有
CustomListItem
s的
List
,每个
CustomListItem
中存储了不同数量的文件。当我尝试对列表项进行排序和筛选时:

  • 排序功能因以下原因而失败:
排序前和排序后:

在后排序屏幕截图中,最上面的一行不应该有那么多的空白,而最上面的第二行的空白量与前一张照片的相同(不应该)。这就像行中有幻影控件,它们没有被排序移动。此外,包含10个文件的原始最顶层行现在显示为仅包含1个文件的行(此处未显示)——这是分配给原始最底层行条目的空格数。它为什么这样做?我如何解决它

当我检查空白处的元素时,那里有不可见的控件。。

  • 过滤器的功能也让我的大脑崩溃了。当我按导致第一个条目(包含10个文件的条目)不显示的条件进行筛选时,我按使其再次显示的条件进行筛选-结果如下:
如图所示,所有动态实例化的10个文件都消失了!亵渎我如何解决这些突出的问题

背景:在动态实例化每个文件的图标+链接控件之前,我在视图中设置了10个。但是数据将返回留下过多空白的空行。不仅如此,当我对这些行进行排序/筛选时,同样的问题也会发生在这里……我不知道如何使排序/筛选与大小不一致的CustomListItems一起工作

我的代码:

that.getView().setModel(新的JSONModel(oData.results),“noteAttach”);
var aModelData=that.getView().getModel(“noteAttach”).oData;
var iModelDataLength=aModelData.length;
var aListItems=oList.getItems();
对于(var j=0;jDocType'+i,
格式化程序:格式化程序.customFileIcon
}
}).addStyleClass(“saputinymarginend”),新链接({
href:{
部分:[{
路径:“noteAttach>ObjectId”
}, {
路径:“noteAttach>Viewname”
}, {
路径:'noteAttach>Title'+i
}],
格式化程序:formatter.fileDownloadHref.bind(that)/“this”成为控制器实例而不是控件实例
},
目标:“_blank”,
正文:{
路径:'noteAttach>Title'+i
}
})
]
}));
}
}
}

您将项目添加到第二个VBox的方式导致了不希望出现的行为。我曾经尝试过类似的方法,在每个自定义列表项中都有一个第二个列表,在按名称排序后,所有内容看起来都是您想要的

排序前后:

以下是视图和控制器详细信息:

var-oData=newjsonmodel({
要素:[{
文字:“你好”,
文本2:“再见”,
儿童:[{
名称:“a”,
id:“1”
}, {
名称:“b”,
id:“2”
}, {
名称:“c”,
id:“3”
}, {
名称:“c”,
id:“4”
}, {
名称:“c”,
id:“5”
}, {
名称:“c”,
id:“6”
}]
}, {
文本:“kajsdfl”,
text2:“byasdfse”,
儿童:[{
名称:“ab”,
身份证号码:“12”
}, {
姓名:“ba”,
身份证号码:“23”
}, {
名称:"行政长官",
身份证号码:“34”
}]
}, {
文字:“he123321llo”,
文本2:“by45556e”,
儿童:[{
名称:“a1234”,
身份证号码:“123”
}]
}]
});
this.getView().setModel(oData,“实体模型”)

我本来想问
templateShareable
属性是什么意思,但后来我被一个错误打了耳光,说我正需要它。非常感谢您的帮助,先生8]