public void createPDFFromModel(Listbox list,String ref){
BindingListModelList model = (BindingListModelList)list.getModel();
for(int i=0;i<model.size();i++){
System.out.println((((ZamoraListitemAdapter)model.get(i)).getName()));
}
System.out.println("-------------------------------------------");
//Data Printed OK.
java.util.ArrayList<ZamoraListitemAdapter>selections = new java.util.ArrayList<ZamoraListitemAdapter>(model.getSelection());
for(int i=0;i<selections.size();i++){
ZamoraListitemAdapter clazz = (ZamoraListitemAdapter)selections.get(i);
System.out.println(clazz.getName());
//Out of sync with model and with sorting
}
我的问题是如何在getSelection模型中获得排序后的项目顺序。我使用的是ZK 5.2.8
答案 0 :(得分:0)
创建后,您可以sort selections
可能有其他/更好的解决方案,但你有
如果您需要更多帮助,请写下您尝试实现的目标。
我的意思是
ArrayList<ZamoraListitemAdapter>selections =
new ArrayList<ZamoraListitemAdapter>(model.getSelection());
Collections.sort(selections);
因此,selections
是所有选定项目的List
长度
当你以相同的方式比较项目时,它们应该是正确的顺序
对我来说,排序意味着它是自动的,并通过算法完成
例如,重新排序意味着您可以拖动对象。
如果您的意思是重新排序,而您的Model
无法知道是否有
选择了一个项目,你可能做错了什么
Cos zk有两个班ListModelList
和AbstractListModel
实现选择行为和自定义所需的所有方法
如果程序员想要一个可选择的Model
,那么Model
应该是固有的
从其中一个来看,这是最简单的方法。
您还应该阅读this。
答案 1 :(得分:0)
model.getSelection()
返回一个Set(无顺序),而不是
model.getInnerList()
返回ListModeList