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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED]
> 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:[EMAIL PROTECTED]
> > 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>
>

Reply via email to