You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Jason Long <ja...@supernovasoftware.com> on 2006/07/18 18:11:20 UTC

tomahawk dataTable rowStyleClass problem

Is this a facelets bug, a problem with my setup, or a tomahawk bug?

 

Any assistance will be greatly appreciated.  I am migrating some
functionality from Struts/Tiles to JSF/Facelets and cannot seem to get this
piece functioning properly.

 

I am trying to apply style to rows in a tomahawk dataTable, but I cannot get
it to work.

 

My dataTable is defined as follows:   

 

   <t:dataTable id="data"

                   var="offerPriceItem"

                   value="#{offerPriceList}" 

                   rendered="true"

                   styleClass="f_table"

                   rowStyleClass="#{listOfferPrice.rowColor}"

                   rowIndexVar="rowIndex"

                   headerClass="f_title0">

 

I am using a taghandler from
<http://wiki.apache.org/myfaces/Use_Facelets_with_Tomahawk>
http://wiki.apache.org/myfaces/Use_Facelets_with_Tomahawk

 

package  net.sf.jsfcomp.facelets.taghandlers.tomahawk;

 

import org.apache.myfaces.shared_impl.renderkit.JSFAttr;

 

import com.sun.facelets.tag.MetaRuleset;

import com.sun.facelets.tag.jsf.ComponentConfig;

import com.sun.facelets.tag.jsf.ComponentHandler;

 

public class DataTableExTagHandler extends ComponentHandler

{

  public DataTableExTagHandler(ComponentConfig cfg)

  {

    super(cfg);

  }

    

  @Override

  protected MetaRuleset createMetaRuleset(Class type)

  {

    System.out.println(type);

    return super.createMetaRuleset(type)

                .alias("rowId", JSFAttr.ROW_ID)

                .alias("rowStyleClass", JSFAttr.ROW_STYLECLASS_ATTR)

                .alias("rowStyle", JSFAttr.ROW_STYLE_ATTR);      

  }

}

 

I declare it in my tag file as follows:

 

      <tag>

            <tag-name>dataTable</tag-name>

            <component>

 
<component-type>org.apache.myfaces.HtmlDataTable</component-type>

                  <renderer-type>org.apache.myfaces.Table</renderer-type>

 
<handler-class>net.sf.jsfcomp.facelets.taghandlers.tomahawk.DataTableExTagHa
ndler</handler-class> 

            </component>

      </tag>

 

If I comment out the handler-class from the tag file then the class is not
rendered at all on the tr.

If I include the handler-class I always get <tr class=""> no matter what I
do.

 

Does anyone have any example or advice on getting this working?


Re: tomahawk dataTable rowStyleClass problem

Posted by Richard Capraro <ri...@gmail.com>.
Hi,
Same problem for me with myfaces-1.1.3 and tomahawk-1.1.3
A workaround is to use BOTH rowStyleClass and rowStyle attributes with
the same values.


Regards,
Richard Capraro

2006/7/26, "R. Müller" <r....@unicomp-berlin.de>:
> hi,
>
> i got the same trouble, but without facelets!
> i think its not related to facelets.
> the behavior is much the same as described by Jason.
> here are the facts :
>
> -static values ends up in no attribute to <tr>
>
> rowStyleClass="row0" --> <tr>
>
> -dynamic values with EL-expression ends up in an empty attribute to <tr>
>
> rowStyleClass="#{(index%2==0)?'row0':'row1'" --> <tr style="">
>
> -multiple values (seperated by comma) behave like static (nothing)
>
> rowStyleClass="row0, row1" --> <tr>
>
> this happens with myfaces-1.1.3 and tomahawk-1.1.3 (of course).
> my server is tomcat 5.0.27 and my vm is blackdown-java 1.4.2 for amd64.
> on a gentoo-box.
> all the other attributes are working well.
>
> if i downgrade to myfaces-1.1.1 the following construction works well :
>
> rowStyleClass="#{(index%2==0)?'row0':'row1'"
>
>
> regards
>
> ronald
>
>
>
> Jason Long wrote:
> > Is this a facelets bug, a problem with my setup, or a tomahawk bug?
> >
> >
> >
> > Any assistance will be greatly appreciated.  I am migrating some
> > functionality from Struts/Tiles to JSF/Facelets and cannot seem to get
> > this piece functioning properly.
> >
> >
> >
> > *I am trying to apply style to rows in a tomahawk dataTable, but I
> > cannot get it to work.*
> >
> >
> >
> > My dataTable is defined as follows:
> >
> >
> >
> >    <t:dataTable id="data"
> >
> >                    var="offerPriceItem"
> >
> >                    value="#{offerPriceList}"
> >
> >                    rendered="true"
> >
> >                    styleClass="f_table"
> >
> >                    rowStyleClass="#{listOfferPrice.rowColor}"
> >
> >                    rowIndexVar="rowIndex"
> >
> >                    headerClass="f_title0">
> >
> >
> >
> > *I am using a taghandler from
> > http://wiki.apache.org/myfaces/Use_Facelets_with_Tomahawk*
> >
> >
> >
> > package  net.sf.jsfcomp.facelets.taghandlers.tomahawk;
> >
> >
> >
> > import org.apache.myfaces.shared_impl.renderkit.JSFAttr;
> >
> >
> >
> > import com.sun.facelets.tag.MetaRuleset;
> >
> > import com.sun.facelets.tag.jsf.ComponentConfig;
> >
> > import com.sun.facelets.tag.jsf.ComponentHandler;
> >
> >
> >
> > public class DataTableExTagHandler extends ComponentHandler
> >
> > {
> >
> >   public DataTableExTagHandler(ComponentConfig cfg)
> >
> >   {
> >
> >     super(cfg);
> >
> >   }
> >
> >
> >
> >   @Override
> >
> >   protected MetaRuleset createMetaRuleset(Class type)
> >
> >   {
> >
> >     System.out.println(type);
> >
> >     return super.createMetaRuleset(type)
> >
> >                 .alias("rowId", JSFAttr.ROW_ID)
> >
> >                 .alias("rowStyleClass", JSFAttr.ROW_STYLECLASS_ATTR)
> >
> >                 .alias("rowStyle", JSFAttr.ROW_STYLE_ATTR);
> >
> >   }
> >
> > }
> >
> >
> >
> > I declare it in my tag file as follows:
> >
> >
> >
> >       <tag>
> >
> >             <tag-name>dataTable</tag-name>
> >
> >             <component>
> >
> >
> > <component-type>org.apache.myfaces.HtmlDataTable</component-type>
> >
> >                   <renderer-type>org.apache.myfaces.Table</renderer-type>
> >
> >
> > <handler-class>net.sf.jsfcomp.facelets.taghandlers.tomahawk.DataTableExTagHandler</handler-class>
> >
> >
> >             </component>
> >
> >       </tag>
> >
> >
> >
> > *If I comment out the handler-class from the tag file then the class is
> > not rendered at all on the tr.*
> >
> > *If I include the handler-class I always get <tr class=""> no matter
> > what I do.*
> >
> > * *
> >
> > *Does anyone have any example or advice on getting this working?*
> >
>
> --
> *********************************************************
> *M-Unicomp GmbH
> *
> *Dipl.-Ing. Ronald Müller
> *Softwareentwicklung
> *
> *Plauener Straße 163-165, Haus 11
> *13053 Berlin
> *
> *fon   : +49 ( 0 ) 30  / 98 69 61 54
> *mobil : +49 ( 0 ) 172 / 93 95 00 4
> *fax   : +49 ( 0 ) 30  / 98 69 61 55
> *email : r.mueller@unicomp-berlin.de
> *web   : www.unicomp-berlin.de
> ********************************************************
>

Re: tomahawk dataTable rowStyleClass problem

Posted by "R. Müller" <r....@unicomp-berlin.de>.
hi,

i got the same trouble, but without facelets!
i think its not related to facelets.
the behavior is much the same as described by Jason.
here are the facts :

-static values ends up in no attribute to <tr>

rowStyleClass="row0" --> <tr>

-dynamic values with EL-expression ends up in an empty attribute to <tr>

rowStyleClass="#{(index%2==0)?'row0':'row1'" --> <tr style="">

-multiple values (seperated by comma) behave like static (nothing)

rowStyleClass="row0, row1" --> <tr>

this happens with myfaces-1.1.3 and tomahawk-1.1.3 (of course).
my server is tomcat 5.0.27 and my vm is blackdown-java 1.4.2 for amd64.
on a gentoo-box.
all the other attributes are working well.

if i downgrade to myfaces-1.1.1 the following construction works well :

rowStyleClass="#{(index%2==0)?'row0':'row1'"


regards

ronald



Jason Long wrote:
> Is this a facelets bug, a problem with my setup, or a tomahawk bug?
> 
>  
> 
> Any assistance will be greatly appreciated.  I am migrating some
> functionality from Struts/Tiles to JSF/Facelets and cannot seem to get
> this piece functioning properly.
> 
>  
> 
> *I am trying to apply style to rows in a tomahawk dataTable, but I
> cannot get it to work.*
> 
>  
> 
> My dataTable is defined as follows:  
> 
>  
> 
>    <t:dataTable id="data"
> 
>                    var="offerPriceItem"
> 
>                    value="#{offerPriceList}"
> 
>                    rendered="true"
> 
>                    styleClass="f_table"
> 
>                    rowStyleClass="#{listOfferPrice.rowColor}"
> 
>                    rowIndexVar="rowIndex"
> 
>                    headerClass="f_title0">
> 
>  
> 
> *I am using a taghandler from
> http://wiki.apache.org/myfaces/Use_Facelets_with_Tomahawk*
> 
>  
> 
> package  net.sf.jsfcomp.facelets.taghandlers.tomahawk;
> 
>  
> 
> import org.apache.myfaces.shared_impl.renderkit.JSFAttr;
> 
>  
> 
> import com.sun.facelets.tag.MetaRuleset;
> 
> import com.sun.facelets.tag.jsf.ComponentConfig;
> 
> import com.sun.facelets.tag.jsf.ComponentHandler;
> 
>  
> 
> public class DataTableExTagHandler extends ComponentHandler
> 
> {
> 
>   public DataTableExTagHandler(ComponentConfig cfg)
> 
>   {
> 
>     super(cfg);
> 
>   }
> 
>    
> 
>   @Override
> 
>   protected MetaRuleset createMetaRuleset(Class type)
> 
>   {
> 
>     System.out.println(type);
> 
>     return super.createMetaRuleset(type)
> 
>                 .alias("rowId", JSFAttr.ROW_ID)
> 
>                 .alias("rowStyleClass", JSFAttr.ROW_STYLECLASS_ATTR)
> 
>                 .alias("rowStyle", JSFAttr.ROW_STYLE_ATTR);      
> 
>   }
> 
> }
> 
>  
> 
> I declare it in my tag file as follows:
> 
>  
> 
>       <tag>
> 
>             <tag-name>dataTable</tag-name>
> 
>             <component>
> 
>                  
> <component-type>org.apache.myfaces.HtmlDataTable</component-type>
> 
>                   <renderer-type>org.apache.myfaces.Table</renderer-type>
> 
>      
> <handler-class>net.sf.jsfcomp.facelets.taghandlers.tomahawk.DataTableExTagHandler</handler-class>
> 
> 
>             </component>
> 
>       </tag>
> 
>  
> 
> *If I comment out the handler-class from the tag file then the class is
> not rendered at all on the tr.*
> 
> *If I include the handler-class I always get <tr class=””> no matter
> what I do.*
> 
> * *
> 
> *Does anyone have any example or advice on getting this working?*
> 

-- 
*********************************************************
*M-Unicomp GmbH
*
*Dipl.-Ing. Ronald Müller
*Softwareentwicklung
*
*Plauener Straße 163-165, Haus 11
*13053 Berlin
*
*fon   : +49 ( 0 ) 30  / 98 69 61 54
*mobil : +49 ( 0 ) 172 / 93 95 00 4
*fax   : +49 ( 0 ) 30  / 98 69 61 55
*email : r.mueller@unicomp-berlin.de
*web   : www.unicomp-berlin.de
********************************************************

AJAX4JSF + DataTable DetailStamp Facet

Posted by Adrien FOURES <af...@sigems.fr>.
Hello,

Is it possible to use AJAX4JSF with DataTable DetailStamp's Facet. I 
don't want to reload all the page when a detail is opened.

Thanks

Adrien