I thought that t:columns required that you have t:column elements
inside it, but I haven't used it in awhile. A quick look at the
examples doesn't show that.
I guess I'm wrong. Take a look at the source code for t:columns.
It's likely that the row index isn't being set correctly at that
particular phase. If so, please open a jira issue with either a
patch or standalone code that demonstrates the problem.
On 12/24/06, fischman_98 <[EMAIL PROTECTED]> wrote:
Thanks for the response Mike, but the <t:commandLink> IS inside the
<t:columns>, isn't it? (I re-pasted the example jsf) The UIData binding
variable is getting a valid (and correct) row(column) index at all other
times except when the view state is restored using the method (described in
the original post).
<t:dataTable var="mainMenu" cellpadding="0" cellspacing="0" border="0"
value="#{navigatorBean.navigatorBlankRow}">
<t:columns value="#{navigatorBean.navigatorMainItems}"
var="mainItems"
styleClass="#{navigatorBean.mainItemCss}"
binding="#{navigatorBean.mainColumns}">
<t:commandLink value="#{mainItems.name}"
title="#{mainItems.label}"
onmouseover="expandcontent('sc#{navigatorBean.mainColumns.rowIndex}', this)"
/>
</t:columns>
</t:dataTable>
Off to do some last minute Christmas shopping...Merry Christmas to all!
BTW - I did a hack this way to make it work...since the managed bean is
request scoped, I declared a private int and initialize it to zero. I
increment it inside the getMainItemCss() method and if it doesn't equal the
rowIndex, I set the row index to the to the private int.
private int i = 0;
public String getMainItemCss() {
...
if (mainColumns.getRowIndex() != i)
mainColumns.setRowIndex(i);
i++
...
Mike Kienenberger wrote:
>
> The rowIndex (really columnIndex) in your example will always remain
> at -1 because there are no t:column components under t:columns.
>
> Put your t:commandLink inside a t:column.
>
> On 12/23/06, fischman_98 <[EMAIL PROTECTED]> wrote:
>>
>> Upon restoring a view from a saved state (see:
>>
http://www.nabble.com/How-can-i-manually-save-and-restore-a-view%27s-state--tf1258390.html#a3414026
>> manually save and restore a view's state (by: Nico Krijnen) I am seeing
>> something I don't understand....
>>
>> I am binding a transient UIData variable to a <t:columns> tag. When the
>> view is restored, the isRowAvailable() equals true and the getRowCount
>> equals the number of rows (6 in my case)....but the getRowIndex equals -1
>> even though the <t:columns> is iterating through all six rows. (I know
>> it's
>> iterating six times b/c I can see the call to
>> navigatorBean.getMainItemCss
>> getting called six times - old school printlns!)
>>
>> Anyone know the reason for this?
>>
>> In the Managed Bean:
>>
>> private transient UIData mainColumns;
>>
>> In the .jsf
>>
>> <t:dataTable var="mainMenu" cellpadding="0" cellspacing="0" border="0"
>> value="#{navigatorBean.navigatorBlankRow}">
>> <t:columns value="#{navigatorBean.navigatorMainItems}"
>> var="mainItems"
>> styleClass="#{navigatorBean.mainItemCss}"
>> binding="#{navigatorBean.mainColumns}">
>> <t:commandLink value="#{mainItems.name}"
>> title="#{mainItems.label}"
>>
>> onmouseover="expandcontent('sc#{navigatorBean.mainColumns.rowIndex}',
>> this)" />
>> </t:columns>
>> </t:dataTable>
>>
>> --
>> View this message in context:
>>
http://www.nabble.com/getRowIndex%28%29-%3D--1-when-restoring-saved-view-state-tf2875166.html#a8036083
>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/getRowIndex%28%29-%3D--1-when-restoring-saved-view-state-tf2875166.html#a8042761
Sent from the MyFaces - Users mailing list archive at Nabble.com.