Posting this because of a long battle with getting Row-Find to work,
hoping some others may find it helpful.
(there are a couple of other posts related to this issue)
I always got an “Errors in criteria parser” error because could not get the syntax quite right, or I’d get the syntax to the point where there were no errors, but the incorrect value was returned.
Example, I needed to find a specific row in OrderDtl given a previously saved OrderLine number and then make that the current row using row-current-set
Note: row-find has 3 modes, RowIndex, Exists, or Count
this example uses RowIndex
Note: RowIndex is a zero based index of the existing rows (i.e Not the OrderLine number), which is what row-current-set needs in the next step
Here is how the row-find is setup:
TransView.OrderLineNum is set earlier in the event using row-update to save the current line.
I tried lots of variations on the expression syntax, what I hadn’t tried though was using a single ‘=’ sign…to me this is very odd…expressions typically use “==” or “===” and "=’ is typically reserved for assignment…(I thought)
The EpBinding TransView.OrderLineRowNum is the RowIndex for the line I am looking for in the OrderDtl view (or -1 if not found).
This is how the row-current-set is setup:
Quite simple once it works…
Oh, and btw, dataview-condition widget follows the same concept