PageableListView 正确的参数
PageableListView right arguments
我想用这些参数创建一个 PageableListView:
public PageableListView(final String id, final IModel<? extends List<T>> model
但是第二个参数 final IModel<? extends List<T>> model
让我有点困惑。我有一个列表 List<Individual> individualList
,其中有一些我想用于我正在制作的 PageableListView 的属性。我的问题是我不知道如何转换它,或者让它成为一个可接受的论点。
这是我正在使用的内容:
List<Individual> individualList = getIndividuals();
WebMarkupContainer datacontainer = new WebMarkupContainer("data");
datacontainer.setOutputMarkupId(true);
add(datacontainer);
PageableListView listview = new PageableListView("rows", individualList, 10) {
@Override
protected void populateItem(ListItem item)
{
Individual individual = item.getModelObject();
item.add(new Label("individual_Id", String.valueOf(individual.getId())));
item.add(new Label("name", individual.getFirstName()));
};
datacontainer.add(listview);
datacontainer.add(new AjaxPagingNavigator("navigator", listview));
datacontainer.setVersioned(false);
在 Individual individual = item.getModelObject();
的行上它给了我 Type mismatch: cannot convert from Object to IndividualCache
的错误。
PageableListView 有第二个构造函数,它只接受一个 List<T>
作为参数:
PageableListView(String id, List<T> list, int itemsPerPage)
参见:JavaDoc
但是您已经在使用该构造函数,所以这里确实没有问题。
您的问题是 PageableListView<T>
是通用的 class,但您将其用作 raw type。这就是为什么方法 getModelObject
只会 return 一个 Object
.
不要那样做。
而是使用通用参数来指定您的 PageableListView 应该显示哪种对象:
PageableListView<Individual> listview = new PageableListView<Individual>("rows", individualList, 10)
我想用这些参数创建一个 PageableListView:
public PageableListView(final String id, final IModel<? extends List<T>> model
但是第二个参数 final IModel<? extends List<T>> model
让我有点困惑。我有一个列表 List<Individual> individualList
,其中有一些我想用于我正在制作的 PageableListView 的属性。我的问题是我不知道如何转换它,或者让它成为一个可接受的论点。
这是我正在使用的内容:
List<Individual> individualList = getIndividuals();
WebMarkupContainer datacontainer = new WebMarkupContainer("data");
datacontainer.setOutputMarkupId(true);
add(datacontainer);
PageableListView listview = new PageableListView("rows", individualList, 10) {
@Override
protected void populateItem(ListItem item)
{
Individual individual = item.getModelObject();
item.add(new Label("individual_Id", String.valueOf(individual.getId())));
item.add(new Label("name", individual.getFirstName()));
};
datacontainer.add(listview);
datacontainer.add(new AjaxPagingNavigator("navigator", listview));
datacontainer.setVersioned(false);
在 Individual individual = item.getModelObject();
的行上它给了我 Type mismatch: cannot convert from Object to IndividualCache
的错误。
PageableListView 有第二个构造函数,它只接受一个 List<T>
作为参数:
PageableListView(String id, List<T> list, int itemsPerPage)
参见:JavaDoc
但是您已经在使用该构造函数,所以这里确实没有问题。
您的问题是 PageableListView<T>
是通用的 class,但您将其用作 raw type。这就是为什么方法 getModelObject
只会 return 一个 Object
.
不要那样做。
而是使用通用参数来指定您的 PageableListView 应该显示哪种对象:
PageableListView<Individual> listview = new PageableListView<Individual>("rows", individualList, 10)