additionally you can override isenabled() on the attribute modifier to
disable it...

-igor


On Wed, Mar 26, 2008 at 9:07 AM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> override oncomponenttag and add the class there dynamically instead of
>  using an attribute modifier
>
>  -igor
>
>
>
>
>  On Wed, Mar 26, 2008 at 5:23 AM, Eyal Golan <[EMAIL PROTECTED]> wrote:
>  > Hi,
>  >  I have a DataTable that I want to add to it a class name in a specific
>  >  situation.
>  >  Otherwise, I want to remove it.
>  >
>  >  Here's the class:
>  >  package com....;
>  >
>  >  import org.apache.wicket.behavior.AttributeAppender;
>  >  import org.apache.wicket.behavior.HeaderContributor;
>  >  import
>  >  org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
>  >  import 
> org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
>  >  import
>  >  
> org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider
>  >  ;
>  >  import
>  >  
> org.apache.wicket.extensions.markup.html.repeater.data.table.NavigationToolbar
>  >  ;
>  >  import
>  >  
> org.apache.wicket.extensions.markup.html.repeater.data.table.NoRecordsToolbar
>  >  ;
>  >  import org.apache.wicket.markup.ComponentTag;
>  >  import org.apache.wicket.markup.MarkupStream;
>  >  import org.apache.wicket.markup.repeater.Item;
>  >  import org.apache.wicket.model.IModel;
>  >  import org.apache.wicket.model.Model;
>  >
>  >  public class MyDataTable extends DataTable {
>  >     private static final long serialVersionUID = -8952247313105963726L;
>  >
>  >     public MyDataTable(String id, IColumn[] columns, ISortableDataProvider
>  >  dataProvider,
>  >             int rowsPerPage) {
>  >         super(id, columns, dataProvider, rowsPerPage);
>  >         add(HeaderContributor.forCss("/.../style/MyDataTable.css"));
>  >         // add(new SimpleAttributeModifier("rules", "all"));
>  >         add(new AttributeAppender("class", true, new Model("myTable"), "
>  >  "));
>  >         addTopToolbar(new NavigationToolbar(this));
>  >         addTopToolbar(new MyHeadersToolbar(this, dataProvider));
>  >         addBottomToolbar(new NoRecordsToolbar(this));
>  >         *if (dataProvider.size() == 0) {
>  >             add(new AttributeAppender("class", true, new
>  >  Model("emptyTable"), " "));
>  >         } else {
>  >             //Here I want to remove the 'emptyTable' class.
>  >  //            MarkupStream markupStream = 
> getAssociatedMarkupStream(false);
>  >         }*
>  >
>  >     }
>  >
>  >     @Override
>  >     protected void onComponentTag(ComponentTag tag) {
>  >         super.onComponentTag(tag);
>  >
>  >     }
>  >
>  >     @Override
>  >     protected Item newRowItem(final String id, int index, final IModel
>  >  model) {
>  >         Item item = new Item(id, index, model);
>  >         item.add(new AttributeAppender("class", true, new Model(index % 2 
> ==
>  >  0 ? "odd"
>  >                 : "even"), " "));
>  >         return item;
>  >     }
>  >  }
>  >
>  >  Any suggetsions?
>  >
>  >  --
>  >  Eyal Golan
>  >  [EMAIL PROTECTED]
>  >
>  >  Visit: http://jvdrums.sourceforge.net/
>  >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to