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.


Reply via email to