You could use customers.zipWithIndex.flatMap({ case (customer, index)
=> ... instead of customers.flatMap(customer => to get the index, and
then use index % 2 == 0 to see if it's an even row or an odd row. How
you get that style into your template is up to you -- using an
attribute bind param would probably be pretty easy, or emitting the
<td> straight out of the snippet.
If you need more guidance give a shout and I'll write you up some
example code.
Note that zipWithIndex only works on List, and it regenerates the
list, so if you have a bunch of customers on the page and are
concerned about performance you might want to do something different
(and less convenient).
-Ross
On Dec 16, 2009, at 5:59 PM, Stevo wrote:
> Say for a second that in one of my Snippets I have the following
> binding:
>
> def view(xhtml: NodeSeq): NodeSeq =
> {
> val entries: NodeSeq = Customer.findAll() match
> {
> case Nil => Text("No customers currently defined")
> case customers =>
> customers.flatMap(customer => bind("cust",
> chooseTemplate
> ("customer", "entry", xhtml),
> "name" ->
> Text(emptyIfNull(customer.name.is)),
> "address" -> Text
> (customer.workAddress.obj.open_!.singleTextLine),
> "phone" ->
> Text(emptyIfNull(customer.workPhone.is)),
> "other" ->
> Text(emptyIfNull(customer.other.is)),
> "fax" ->
> Text(emptyIfNull(customer.workFax.is)),
> "email" ->
> Text(emptyIfNull(customer.email.is)),
> "url" ->
> Text(emptyIfNull(customer.email.is))))
> }
> bind("customer", xhtml, "entry" -> entries)
> }
>
> Is there a way that I could apply a style to a complete customer:entry
> with the goal of highlighting even/odd rows?
>
> Let me know and best regards to all,
>
>
> Steve
>
> --
>
> --
>
> You received this message because you are subscribed to the Google
> Groups "Lift" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]
> .
> For more options, visit this group at
> http://groups.google.com/group/liftweb?hl=en
> .
>
>
--
You received this message because you are subscribed to the Google Groups
"Lift" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/liftweb?hl=en.