Äsch då, Nima, det var inget.
When I grow up I'll make tons of money by writing ten great Tapestry
lifesavers on a page powered by google ads :-)=

Cheers,
PS

On 3/8/06, Nima Boustanian <[EMAIL PROTECTED]> wrote:
>
> Tusen tack Peter! Too bad there's so little documentation on Tapestry :(
>
> Peter Svensson wrote:
>
> >Oh yes, very :)
> >
> >The main problem (as I griped about on another list just yesterday) is
> that
> >there are only four places to get info on using tables (which perhaps
> just
> >about 100% of all tapesry coders use);
> >
> >1) Ken's book (Which is a complete must) at http://agileskills2.org/EWDT/
> >2) John Reynolds TapestryTables.war tutorial at
> >http://weblogs.java.net/blog/johnreynolds/archive/2004/10/index.html
> >3) The deprecated FormTable description at
> >
> http://jakarta.apache.org/tapestry/tapestry-contrib/ComponentReference/FormTable.html
> >4) The contrib:Table API at
> >http://jakarta.apache.org/tapestry/tapestry-contrib/apidocs/index.html
> >
> >That's it.  It took me nearly two days to understand that if I roll my
> own
> >ITableColumns (no big deal, and rather well documented (in the source
> code)
> >in the TapestryTables tutorial) I have do create and add my own Block's
> >inside it so that they can be overriden in the html or jwc/page file. A
> >killer!
> >
> >My aim was to make a simpele table coponent which doesn't need any
> columsn
> >at all, but uses introspection to grok what the field names are and such
> - a
> >little bit like trails does, but with less gears and functions (In order
> to
> >make my own grafts of coming trails functions which I needed atm).  And I
> >managed to do it - works great.  It just turns out that one doesn't want
> >that, because one alsways want column ordering, and - well - that's what
> I
> >explicitly didn't build in :-)=
> >
> >Cheers,
> >PS
> >
> >On 3/8/06, Nima Boustanian <[EMAIL PROTECTED]> wrote:
> >
> >
> >>Okay, understood Peter (and thanks!). Sorry about being persistent
> >>though, but aren't there any other ways of doing this?
> >>I haven't seen it in any examples, is it common practice to override
> >>columns?
> >>
> >>
> >>Peter Svensson wrote:
> >>
> >>
> >>
> >>>Uh no :) I think I misunderstood you.
> >>>But a table shows only one list at a time, where all properties of the
> >>>current object (which will be the row) make up the fields in the row.
> >>>
> >>>If you want to insert fields from another kind of object, it might get
> >>>
> >>>
> >>odd,
> >>
> >>
> >>>since there is no natural relation in order between the two lists,
> unless
> >>>you are absolutely certain that the lorder of each list can be trusted
> >>>
> >>>
> >>and
> >>
> >>
> >>>make sense.
> >>>
> >>>In that case you can define a column in you table which does not exist
> as
> >>>
> >>>
> >>a
> >>
> >>
> >>>property at all in the objects in the first list, then override that
> >>>
> >>>
> >>column
> >>
> >>
> >>>with a "block override" thus;
> >>>
> >>><div jwcid="@contrib:Table source="ognl:posts" columns="foo, bar, baz">
> >>>  <div jwcid="[EMAIL PROTECTED]">
> >>>     <div jwcid="ognl:renderbaz">
> >>>  </div>
> >>></div>
> >>>
> >>>But then you would have to keep track of the row as well.
> >>>
> >>>Gotta run!
> >>>cHEERS,
> >>>ps
> >>>
> >>>On 3/8/06, Nima Boustanian <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>
> >>>
> >>>>Peter Svensson wrote:
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>Well either you could use two tables, or you could have a third
> method
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>mix
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>the two.
> >>>>>Don't you just want to have one or two of the columns in the first
> >>>>>
> >>>>>
> >>table
> >>
> >>
> >>>>>show something from the other list?
> >>>>>
> >>>>>The way I would do that is to just add a property for the Post object
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>that
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>refers to a specific Person object.
> >>>>>
> >>>>>Then you could add a couple of columns in your columns="" binding
> that
> >>>>>actually refers to properties in person, like;
> >>>>>
> >>>>>columns="columns="listOfPosts:Title:title, personName:Name:
> >>>>>
> >>>>>
> >>myPerson.name"
> >>
> >>
> >>>>>where you add in Post.java;
> >>>>>
> >>>>>Person myPerson;
> >>>>>public Person getMyPerson()
> >>>>>{
> >>>>> return myPerson;
> >>>>>}
> >>>>>
> >>>>>anbd of course you have a getName() method on person.  Would that
> >>>>>
> >>>>>
> >>work??
> >>
> >>
> >>>>>Cheers,
> >>>>>PS
> >>>>>
> >>>>>On 3/8/06, Nima Boustanian <[EMAIL PROTECTED]> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Hey all
> >>>>>>
> >>>>>>How do I output data from multiple sources into one contrib:Table?
> >>>>>>
> >>>>>>What I do at the moment is:
> >>>>>>                              <table jwcid="[EMAIL PROTECTED]:Table"
> >>>>>>id="conversationsPlaceHolder" source="ognl:posts"
> >>>>>>                              columns="listOfPosts:Title:title,
> >>>>>>listOfPosts:Created:createdDate"
> >>>>>>                              class="postTable" cellpadding="2"
> >>>>>>cellspacing="2" width="100%">
> >>>>>>
> >>>>>>Where the data source for source="ognl:posts" is
> >>>>>>                             public List getPosts() {
> >>>>>>                                  return
> getPostManager().getPosts();
> >>>>>>                             }
> >>>>>>
> >>>>>>The above example works fine, but what if I have another method
> which
> >>>>>>returns
> >>>>>>                             public List getPerson() {
> >>>>>>                                  return
> >>>>>>getPersonManager().getPersons();
> >>>>>>                             }
> >>>>>>
> >>>>>>How can I use both sources in one table? If this isn't possible, are
> >>>>>>there any other components that should be used instead?
> >>>>>>
> >>>>>>Thanks!
> >>>>>>
> >>>>>>Btw - if there are other newbies out there interested in Tapestry
> >>>>>>components, check out this site I stumbled across recently,
> >>>>>>it can come in handy: http://xdoclet.codehaus.org/TapestryTags
> >>>>>>
>
> >>>>>>---------------------------------------------------------------------
> >>>>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>>>For additional commands, e-mail:
> [EMAIL PROTECTED]
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>Hmm.. not quite sure if I follow you Peter, what I have now is:
> >>>>
> >>>>public abstract class ConversationsPlaceHolder extends BaseComponent {
> >>>>
> >>>>   @InjectObject("spring:tagManager")
> >>>>   public abstract TagManager getTagManager();
> >>>>
> >>>>   @InjectObject("spring:postManager")
> >>>>   public abstract PostManager getPostManager();
> >>>>
> >>>>   public List getPostTags() {
> >>>>       return getTagManager().getTags();
> >>>>   }
> >>>>
> >>>>   public List getPosts() {
> >>>>       return getPostManager().getPosts();
> >>>>   }
> >>>>
> >>>>Both methods are in the same class... are you saying that I should
> have
> >>>>a third method which mixes getPostTags and getPosts?
> >>>>
> >>>>
> >>>>
> >>>>---------------------------------------------------------------------
> >>>>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]
> >>
> >>
> >>
> >>
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to