myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Broekelmann, Mathias" <MBroekelm...@PSI.DE>
Subject RE: Proposed improvement to x:dataTable
Date Wed, 13 Apr 2005 07:00:59 GMT
Hi,

There is still an open issue regarding the x:columns component. 
See http://issues.apache.org/jira/browse/MYFACES-174

Mathias

> -----Original Message-----
> From: Sean Schofield [mailto:sean.schofield@gmail.com] 
> Sent: Tuesday, April 12, 2005 10:35 PM
> To: MyFaces Development
> Subject: Re: Proposed improvement to x:dataTable
> 
> 
> Neal,
> 
> Please report back here about what you learn and how you make out.  We
> are in the process of investigating this too.
> 
> sean
> 
> 
> On Apr 12, 2005 4:31 PM, Neal Haggard <Neal.Haggard@sas.com> wrote:
> > Mathias,
> > 
> >     That is a very ingenious way to manage that.  I like 
> it.  We'll play around with that and see how it works for us. 
>  Thanks for the idea.
> > 
> > Neal
> > 
> > -----Original Message-----
> > From: Broekelmann, Mathias [mailto:MBroekelmann@PSI.DE]
> > Sent: Tuesday, April 12, 2005 9:55 AM
> > To: MyFaces Development
> > Subject: RE: Proposed improvement to x:dataTable
> > 
> > Hi Neal,
> > 
> > > -----Original Message-----
> > > From: Neal Haggard [mailto:Neal.Haggard@sas.com]
> > > Sent: Tuesday, April 12, 2005 3:20 PM
> > > To: MyFaces Development
> > > Subject: RE: Proposed improvement to x:dataTable
> > >
> > >
> > > Mathias,
> > >
> > >    While your x:columns is very nice, it does not answer Sean's
> > > request to have something where the columns can be independently
> > > formatted.  All of your columns in x:columns must have the same
> > > output, so we can't have one column that provides a link 
> to an outside
> > > source, or is otherwise dynamically rendered.
> > 
> > You can put everything into a columns component. I use the 
> rendered flag to switch the components defined in the jsp on 
> or off. So everything is defined in the columns component 
> (through includes of other jsps).
> > 
> > >
> > >    We also evaluated using x:columns and are on the road 
> to writing
> > > our own custom table & column components to meet our user
> > > requirements.  Our users are wanting to be able to dynamically
> > > re-order the columns in the table, and pick and choose 
> which ones to
> > > show.  We're currently planning on implementing this by 
> having the JSP
> > > define all the possible columns, and specify on the 
> column what index
> > > the columns should have (to specify column ordering, to 
> be sorted &
> > > handled by our DataTable).  We're also adding a rendered 
> attribute to
> > > the column, to allow columns to be shown/hidden as needed.
> > 
> > Our users do the same with the columns component. They 
> choose the columns they want and the content is rendered in 
> depend of the data which contains the column. How the content 
> is rendered is defined through one of the nested panelgroups 
> inside the columns component.
> > 
> > >
> > >    If anyone has any ideas of how we can meet our user 
> requirements
> > > with some available component out there, we'd love to 
> hear about it.
> > >
> > 
> > Here is an example how we use the columns component:
> > 
> > Content of overview.jsp which shows the datatable
> > 
> > <x:dataTable rowClasses="data,data2" preserveDataModel="false"
> > styleClass="data" border="0" frame="box"
> >         value="#{overview.resourcesModel}" var="line" >
> >         <h:column rendered="#{overview.modifiable}">
> >                 <f:facet name="header">
> >           <h:commandLink styleClass="hauptnav"
> > action="#{overview.create}">
> >             <h:graphicImage border="0" title="Erstellen"
> >               value="/public/images/admin/erstellen.gif" 
> alt="Erstellen"
> > />
> >           </h:commandLink>
> >                 </f:facet>
> >                 <h:commandLink styleClass="hauptnav"
> > action="#{overview.modify}">
> >                         <h:graphicImage border="0" 
> title="Bearbeiten"
> > 
> > value="/public/images/admin/bearbeiten.gif" alt="Bearbeiten" />
> >                 </h:commandLink>
> >         </h:column>
> >         <x:columns value="#{overview.attributes}" var="attr">
> >                 <f:facet name="header">
> >                         <h:outputText value="#{attr.label}" />
> >                 </f:facet>
> > 
> >                 <!-- we use panelGroup to switch the rendering of
> > different content -->
> > 
> >         <h:panelGroup rendered="#{attr.booleanType && attr.value !=
> > null}">
> > 
> >             <!-- show a boolean value through graphic images -->
> > 
> >             <h:graphicImage
> > url="/public/images/admin/activeCheckBox.gif"
> >               rendered="#{attr.value}" />
> >             <h:graphicImage
> > url="/public/images/admin/inactiveCheckBox.gif"
> >               rendered="#{!attr.value}" />
> >         </h:panelGroup>
> >         <h:panelGroup rendered="#{!attr.booleanType}">
> > 
> >             <!-- show other values through normal outputText -->
> > 
> >             <h:outputText value="#{attr.value}" />
> >         </h:panelGroup>
> > 
> >         </x:columns>
> >     <h:column rendered="false">
> >         <f:facet name="header">
> >               <h:commandLink value="..."
> > action="#{overview.selectAttributes}" />
> >         </f:facet>
> >   </h:column>
> > </p:dataTable>
> >
> 

Mime
View raw message