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.

Reply via email to