dev@javaserverfaces.java.net

Re: Setting css classes on regular and header table cells

From: Lotus118 <maarten.dirkse_at_gmail.com>
Date: Tue, 9 Sep 2008 10:48:03 -0700 (PDT)

Spec issue 217 sounds like it would solve my problem quite nicely. Thanks for
the pointer.
I already solved the problem in my project by extending the TableRenderer,
but thought JSF would benefit from a more consistent approach. Apparently,
someone on the spec team agreed and made it a feature for 2.0 :)
Regards,
Maarten


Ryan Lubke wrote:
>
> This sounds a lot like spec issue 217 [1]. It's set to be addressed in
> 2.0.
>
> Unfortunately, we can't make a similar change to 1.2 since it does require
> a specification change (new attributes to a tag, etc).
>
> That said, if you really need this, you could take the source for the
> tag and
> the current renderer and customize for your needs or I'm sure there is a
> 3rd party table that you might be able to use (like Woodstock).
>
>
> [1]
> https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=217
>
> Lotus118 wrote:
>> Hi,
>> I have a question about the way that regular and header table cell css
>> classes are handled by the regular Mojarra release (I'm using version
>> 1.2_09).
>>
>> First, if you want to set css classes on table cells by column, you have
>> to
>> specify the "columnClasses" attribute on your datatable. In the standard
>> datatable, this attribute takes something of an all-or-nothing approach.
>> Either all your cells have a class, or none of them do. It's impossible
>> to,
>> as I wanted to in a project last week, have just the last column of your
>> table be assigned a certain class. You could use, say for a four-column
>> table, 'columnClasses=",,,last"', but that renders unnecessary markup
>> bloat
>> in the form of 'class=""' for every class-less column. Not pretty.
>>
>> The second issue concerns how header cell classes are treated. This turns
>> out to be amazingly simple and intuitive compared to normal cell classes:
>> just set the "headerClass" attribute on the f:column tag (that's where
>> you'd
>> expect to be able to set that value) and you're done.
>>
>> I'm a little confused as to why the datatable takes two different
>> approaches
>> to the same problem for two different types of cells. It seems to me that
>> either both css class values are set using the "columnClasses" String
>> array
>> method, or both should be settable on the column tag. The latter would
>> have
>> my preference (I think it's much more intuitive, as I said), as it would
>> greatly ease the process of setting just one column class in a clean
>> fashion. The way I had to do it now was subclass the TableRenderer and
>> modify the "renderRow" method so that it wouldn't output all the
>> 'class=""'
>> markup.
>>
>> So, anyone care to weigh in on this? I'd be happy to code up the patches
>> if
>> people think adding a "styleClass" attribute, or something similar, to
>> the
>> column tag is a good idea.
>>
>> Regards,
>> Maarten
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_javaserverfaces.dev.java.net
> For additional commands, e-mail: dev-help_at_javaserverfaces.dev.java.net
>
>
>

-- 
View this message in context: http://www.nabble.com/Setting-css-classes-on-regular-and-header-table-cells-tp19391323p19397618.html
Sent from the javaserverfaces dev mailing list archive at Nabble.com.