rendered paste bodypackage webapp.panel;
import java.util.Iterator;
import java.util.List;
import components.pricesheet.PriceSheetManager;
import wicket.Component;
import wicket.extensions.markup.html.repeater.data.grid.DataGridView;
import wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import wicket.extensions.markup.html.repeater.data.grid.PropertyPopulator;
import wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import wicket.markup.html.basic.Label;
import wicket.markup.html.panel.Panel;
import wicket.model.AbstractReadOnlyDetachableModel;
import wicket.model.IModel;
public class PriceSheetExtract extends Panel {
private static final long serialVersionUID = 1L;
public PriceSheetExtract(String panelid) {
super(panelid);
PriceSheetManager psheet = new PriceSheetManager("test.csv");
int cols = psheet.getRandomRow().size();
ICellPopulator[] columns = new ICellPopulator[cols];
for(int i = 0 ; i < cols ; i++) {
columns[i] = new PropertyPopulator(Integer.valueOf(i).toString());
}
add(new DataGridView("rows",columns,new MySortableProvider(psheet)));
}
public class MySortableProvider extends SortableDataProvider {
private static final long serialVersionUID = 1L;
private PriceSheetManager psheet;
public MySortableProvider(PriceSheetManager psheet) {
this.psheet = psheet;
}
public Iterator iterator(int arg0, int arg1) {
return psheet.range(arg0,arg1).iterator();
}
public IModel model(Object arg0) {
// stumped here?
return new DetachableRowModel(arg0);
}
public int size() {
return psheet.getAll().size();
}
}
// yep here as well??
public class DetachableRowModel extends AbstractReadOnlyDetachableModel {
public DetachableRowModel(Object arg0) {
//
}
@Override
public IModel getNestedModel() {
// TODO Auto-generated method stub
return null;
}
@Override
protected void onAttach() {
}
@Override
protected void onDetach() {
}
@Override
protected Object onGetObject(Component component) {
return null;
}
}
}