The <grid> seems to have bgcolor0 and bgcolor1 properties, and they work
for alternate row coloring for me in a simple test.
Have you tried using those properties?
Kathryn
Daniel Salama wrote:
> Hi,
>
> I have been trying waaaay too much to figure this out and have not
> been able to do so. I have seen several examples and suggestions in
> the forums but none of them have worked. I have the following piece
> of code:
>
> <grid name="country_grid" width="100%" datapath="response/"
> contentdatapath="countries/country" sizetoheader="false">
> <attribute name="rowcolor" value="1" />
>
> <method name="alternate_color">
> <![CDATA[
> var pos = this.datapath.xpathQuery('position()');
> Debug.write(pos);
>
> if (pos % 2 == 0) {
> this.setAttribute('rowcolor', 0xeeeeff);
> } else {
> this.setAttribute('rowcolor', 0xffffff);
> }
> this.setBGColor(this.rowcolor);
> ]]>
> </method>
>
> <gridcolumn editable="false" width="25" sortable="false"
> resizable="false">#
> <text datapath="position()">
> <method event="ondata" args="d">
> <![CDATA[
> parent.rowcolor = d;
> Debug.write("Position ", d, this.datapath.xpathQuery
> ('position()'));
> ]]>
> </method>
> </text>
> </gridcolumn>
> <gridcolumn editable="false" width="40">Code
> <text datapath="code/text()">
> <method event="ondata" args="d">
> <![CDATA[
> Debug.write("Got data ", d, this.datapath.xpathQuery
> ('position()'), parent.rowcolor);
> ]]>
> </method>
> </text>
> </gridcolumn>
> <gridcolumn editable="false" width="460">Name
> <text datapath="name/text()" />
> </gridcolumn>
> </grid>
>
> When executed, the grid populates just fine showing all the right
> contents, including the numbered '#' column. Also, when this same
> column (#) is 'rendered', the debugger shows the right thing (e.g.
> Position 1 1, Position 2 2, Position 3 3, etc).
>
> However, when the column 'Code' is rendered, the debugger shows the
> wrong thing (e.g. Got data AR 1 <<undefined>>, Got data AQ 1
> <<undefined>>, Got data AM 1 <<undefined>>, etc). It seems that when
> rendering the 'Code' column, xpathQuery('position()') is always
> returning 1. Also, the assignment to parent.rowcolor when rendering
> the '#' is not "persisting" for the other columns.
>
> For "debugging" purposes, the method named "alternate_color" is never
> used. I had originally put that as an event="ondata", but that didn't
> work, so I was trying to isolate the problem.
>
> Why is it so difficult for me (or may be many of us) to render a grid
> with alternating row colors? Any help would be greatly appreciated
> since I'm stuck at this juncture.
>
> Thanks,
> Daniel
>
> _______________________________________________
> Laszlo-user mailing list
> [email protected]
> http://www.openlaszlo.org/mailman/listinfo/laszlo-user
_______________________________________________
Laszlo-user mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-user