All pastes #359943 Raw Edit

Someone

public text v1 · immutable
·published 2007-02-17 04:24 UTC
rendered paste body
package 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;
		}

    }
}