I just checked in a very small example on how to build a simple grid. It is
in no way complete as it is not a component and it misses some basic
functionality such as adding a <td colspan="x">&nbsp;</td> to the last row
if there arent enough items in the dataprovider.

But what it does demonstrate is that it is VERY EASY to create a component
that works with proper semantics in the markup if you don't try to
overengineer things!

<table cellspacing="0" cellpadding="2" border="1">
        <tr wicket:id="rows">
                <td wicket:id="cols"><span
wicket:id="firstName">[firstname]</span></td>
        </tr>
</table>

-Igor 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of 
> Igor Vaynberg
> Sent: Wednesday, August 17, 2005 11:14 AM
> To: wicket-user@lists.sourceforge.net
> Subject: RE: [Wicket-user] Re: ColumnedDataProvider 
> startIndex problems
> 
> I would disagree with everything except 1.
> 
> (2) wont work because cells might create different 
> hierarchies of components based on a model, ie insert 
> different panels based on model objects type.
> 
> (3) this is not error prone at all. You have to understand 
> that you cannot add directly into the dataview because it 
> MANAGES ITS CHILDREN itself and for you. There is nothing 
> stopping you from adding different things into the dataitem itself.
> 
> (4) see the reason for (2) - it would be cheaper to recreate 
> a cell as opposed to swapping its model which you then need 
> to undo on the back button.
> 
> (5) sure but this is not a requirement - use a 
> detachablemodel and an attribute modifier.
> 
> I think you are trying to create a component that is very 
> specific to your needs as opposed to creating a more general 
> one and adopting it. 
> 
> -Igor
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Gili
> > Sent: Wednesday, August 17, 2005 10:41 AM
> > To: wicket-user@lists.sourceforge.net
> > Subject: Re: [Wicket-user] Re: ColumnedDataProvider startIndex 
> > problems
> > 
> > 
> >     Ok, I give up :(
> > 
> >     I tried simplifying everything by creating a 
> GridDataView that is a 
> > DataView that is explicitly aware of columns and rows but this is 
> > taking up way too much of my time and I'm getting stuck way 
> too often.
> > 
> >     Some points:
> > 
> > 1) We need a component which consists of a fixed number of 
> columns and 
> > rows.
> > 
> > 2) Ideally, the grid is lazily-initialized *once* with a 
> DataItem in 
> > each cell at the first request. Future requests do not 
> modify the grid 
> > structure.
> > 
> > 3) We *don't* invoke populateItem(DataItem) and have to 
> add() into the 
> > item because as we have seen this is error prone.
> > Users expect to add() directly onto the component, not the DataItem 
> > and as Igor mentioned, there are problems with allowing 
> > Component.add() to be invoked. So...
> > 
> > 4) All cells always exist, whether or not there is a live 
> item inside 
> > them.
> > 
> > 5) At request-time, DataItems get re-rendered. At render time, 
> > DataItems should reinitialize themselves from the DB -- this means 
> > images might change or an image that used to exist no longer does. 
> > DataItems would be responsible for invoking
> > setVisible() on themselves based upon whether or not there 
> is an item 
> > to render.
> > 
> >     I like the above design because it is more consistent 
> with the Wicket 
> > framework. The structure is created *once* at initialization time. 
> > Users get to add() directly onto components and there is no 
> longer any 
> > confusion -- no need to item.add().
> > 
> >     My only problem is that I am not familiar with how 
> > OrderedRepeatingView works in order to figure out how to 
> implement all 
> > of this. I don't think extending the existing DataView is 
> an option -- 
> > it is just too different. I would be glad to work with Phil 
> or Igor to 
> > make the above work -- I cannot do it all by myself.
> > 
> > Thanks,
> > Gili
> > 
> > 
> > -------------------------------------------------------
> > SF.Net email is Sponsored by the Better Software Conference & EXPO 
> > September 19-22, 2005 * San Francisco, CA * Development Lifecycle 
> > Practices Agile & Plan-Driven Development * Managing 
> Projects & Teams 
> > * Testing & QA Security * Process Improvement & Measurement * 
> > http://www.sqe.com/bsce5sf 
> > _______________________________________________
> > Wicket-user mailing list
> > Wicket-user@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> > 
> > 
> > 
> 
> 
> 
> 
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & 
> EXPO September 19-22, 2005 * San Francisco, CA * Development 
> Lifecycle Practices Agile & Plan-Driven Development * 
> Managing Projects & Teams * Testing & QA Security * Process 
> Improvement & Measurement * http://www.sqe.com/bsce5sf 
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
> 
> 
> 




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to