Re: Help on create a list with dataview

2008-08-06 Thread alex2008

I'm trying to customize an example but without success if there is a better
way to get the same result with the 1.3.4 so much the better.

Which part of the code would be modify?


i guess i am wondering where this code came from? looks like code from
1.2...


-- 
View this message in context: 
http://www.nabble.com/Help-on-create-a-list-with-dataview-tp18852545p18856946.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Help on create a list with dataview

2008-08-06 Thread Igor Vaynberg
i guess i am wondering where this code came from? looks like code from 1.2...

/**
* Returns null to indicate there is no nested model.
* @return Null
*/
   public IModel getNestedModel() {
   return null;
   }

-igor

On Wed, Aug 6, 2008 at 8:29 AM, alex2008 <[EMAIL PROTECTED]> wrote:
>
> No i'm using wicket 1.3.4.
> If there is a system to have a more simple code ...
>
>
> are you using wicket 1.2???
>
> -igor
>
>
> --
> View this message in context: 
> http://www.nabble.com/Help-on-create-a-list-with-dataview-tp18852545p18853703.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Help on create a list with dataview

2008-08-06 Thread alex2008

No i'm using wicket 1.3.4.
If there is a system to have a more simple code ...  


are you using wicket 1.2???

-igor


-- 
View this message in context: 
http://www.nabble.com/Help-on-create-a-list-with-dataview-tp18852545p18853703.html
Sent from the Wicket - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Help on create a list with dataview

2008-08-06 Thread Igor Vaynberg
are you using wicket 1.2???

-igor

On Wed, Aug 6, 2008 at 7:33 AM, alex2008 <[EMAIL PROTECTED]> wrote:
>
> This is the code:
>
> 
> public class ListProductPage extends WebPage {
>
>public ListProductPage() {
>add(new Link("createLink") {
>
>/**
> * Go to the Edit page when the link is clicked, passing an
> empty
> * Product details
> */
>public void onClick() {
>//setResponsePage(new EditProductPage(getPage(), 0));
>}
>});
>
>IColumn[] columns = new IColumn[3];
>
>/*
> * This is a composite column, created by extending
> * FilteredAbstractColumn. This column adds a UserActionsPanel as
> its
> * cell contents. It also provides the go-and-clear filter control
> * panel.
> */
>columns[0] = new FilteredAbstractColumn(new Model("Actions")) {
>
>// add the UserActionsPanel to the cell item
>public void populateItem(Item cellItem, String componentId,
>IModel model) {
>Product product = (Product) cellItem.getModelObject();
>cellItem.add(new UserActionsPanel(componentId, product));
>}
>
>// return the go-and-clear filter for the filter toolbar
>public Component getFilter(String componentId, FilterForm form)
> {
>return new GoAndClearFilter(componentId, form);
>}
>};
>
>// creates a column with a text filter
>columns[1] = new TextFilteredPropertyColumn(new
> Model("Description"),
>"description", "description");
>
>columns[2] = new TextFilteredPropertyColumn(new Model("Price"),
>"price");
>
>
>// set up data provider
>ProductDataProvider dataProvider = new ProductDataProvider(.);
>
>// create the data table
>DefaultDataTable products = new DefaultDataTable("products",
> Arrays.asList(columns), dataProvider, 10);
>
>//products.addTopToolbar(new FilterToolbar(products, dataProvider));
>add(products);
>
>}
>
> public class ProductDataProvider extends SortableDataProvider implements
>IFilterStateLocator {
>
>/** dao that will be used to retrieve the list of Products */
>private ProductDao dao;
>/** reuse the Product entity to store filter information */
>private Product filter = new Product();
>
>public Object getFilterState() {
>return filter;
>}
>
>public void setFilterState(Object state) {
>filter = (Product) state;
>}
>
>
>public ProductDataProvider(ProductDao dao) {
>this.dao = dao;
>
>// set the default sort
>setSort("description", true);
>}
>
>/**
> * Gets an iterator for the subset of Products.
> *
> * @param first
> *offset for the first row of data to retrieve
> * @param count
> *number of rows to retrieve
> * @return iterator capable of iterating over {first, first+count}
> Products
> */
>public Iterator iterator(int first, int count) {
>QueryParam qp = null;
>
>SortParam sp = getSort();
>qp = new QueryParam(first, count, sp.getProperty(),
> sp.isAscending());
>
>return dao.find(qp, filter);
>}
>
>/**
> * Gets total number of items in the collection.
> *
> * @return total item count
> */
>public int size() {
>return dao.count(filter);
>}
>
>/**
> * Converts the object in the collection to its model representation. A
> good
> * place to wrap the object in a detachable model.
> *
> * @param object
> *The object that needs to be wrapped
> * @return The model representation of the object
> */
>public IModel model(Object object) {
>return new DetachableModelProduct((Product) object, dao);
>}
> }
>
> public class DetachableModelProduct extends LoadableDetachableModel {
>//make it transient, so that it will not get serialized.
>private transient Product product;
>private final ProductDao dao;
>private final Integer id;
>
>@Override
>public Object getObject() {
>return this.product;
>}
>
>public DetachableModelProduct(Product product, ProductDao dao) {
>this(product.getId(), dao);
>this.product = product;
>}
>
>public DetachableModelProduct(Integer id, ProductDao dao) {
>if (id == 0) {
>throw new IllegalArgumentException();
>}
>this.id = id;
>this.dao = dao;
>}
>
>
>/**
> * Returns null to indicate there is no nested model.
> * @return Null
> */
>public IModel getNestedModel() {
>return null;
>}
>
>/**
> * Uses the DAO to load the required product when the model is attatched
> to the request.
> */
>protected void onAttach() {
>product = dao.load(id)