I have a methodAction that uses a binding from the page as a parameter, but the value being passed in does not match the value displayed on the page.
This a little hard to explain, but I'll try my best:
Read-only Table using HEADERIterator with link bound to setCurrentRowWithKeyValue then navigates via ControlFlowCase to 2nd page.
Transaction Detail page:
Read-only form using HEADERIterator selected by setCurrentRowWithKeyValue. Read-only table using LINESIterator. Editable input box (call this 2nd parm) and pushbutton. Pushbutton calls methodAction (call this processTransaction) with parameters HeaderID and 2nd parm.
In processTransaction, for debugging purposes, I immediately print out the parameters and I notice that the HeaderID doesn't always match the HeaderID displayed on the Transaction Detail page. It always sends the HeaderId from the 1st row of the HEADERIterator, even if I had selected the 2nd HeaderId from the Selection Page, and it shows the 2nd HeaderID and corresponding data on the page correctly.
I'm not using RowSelection and SelectedTowKey as I'm using a hyperlink to navigate to the second page. It look likes it's getting set correctly since on the second page i see the correct row selected, but when I pass in a value into a method, it's only showing the 1st row.
Does the edit form in detail page displays the row details as expected(including header Id) ?
To which iterator the HeaderId you are passing to method is pointing to (either to HEADERIterator or to LINESIterator)?
Can you post the code of the Detail Transaction page along with the pagedef source for easy understanding of the problem?