I have some problems refreshing a GridView because ListDataProvider doesnt
take Models. Why? It doesnt make sense, models are an esencial part of
wicket and I couldn't find any implementation which takes model. Am I wrong?
I had to implement my own ListDataProvider.
package com.misPartidos.web.widgets.resumenes;
import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import org.apache.wicket.markup.repeater.data.IDataProvider;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
public class MyListDataProvider implements IDataProvider {
private static final long serialVersionUID = -1233815423206383563L;
private IModel list;
public MyListDataProvider(IModel list){
this.list=list;
}
@SuppressWarnings("unchecked")
public Iterator iterator(final int first, final int count)
{
int toIndex = first + count;
if (toIndex > size())
{
toIndex = size();
}
return getList().subList(first, toIndex).listIterator();
}
public int size()
{
return getList().size();
}
public IModel model(Object object)
{
return new Model((Serializable)object);
}
public void detach()
{
}
@SuppressWarnings("unchecked")
public List getList(){
return (List) list.getObject();
}
}
--
Fernando Wermus.
www.linkedin.com/in/fernandowermus