public class PriceSheetPanel2 extends Panel {
public PriceSheetPanel2(String id) {
super(id);
String filename = "/tmp/uploads/sheet.csv";
PriceSheetManager psheet = new CSVPriceSheetManager(filename);
int cols = psheet.getRandomRow().size();
List columns = new ArrayList();
for( int i = 0 ; i < cols ; i++ ){
String str = Integer.valueOf(i).toString();
columns.add(new PropertyColumn(new Model("Column "+ str),str));
}
add(new PriceSheetForm("sheetform",cols));
add(new AjaxFallbackDefaultDataTable("table", columns, new MySortableProvider(psheet.getAll()), 10));
}
private static final long serialVersionUID = 1L;
public class MySortableProvider extends SortableDataProvider {
private static final long serialVersionUID = 1L;
private List psheet;
public MySortableProvider(List list) {
this.psheet = list;
setSort("0",true);
}
public Iterator iterator(int from, int to) {
SortParam sp = getSort();
return psheet.subList(from,psheet.size()).iterator();
}
public IModel model(Object object) {
return new Model((ArrayList) object);
}
public int size() {
return psheet.size();
}
}
}