How to Manually fire a components expression binding?

Let’s say that NumericTextField3.FloatValue property is bound to the following expression -

NumericTextField1.floatValue * NumericTextField2.FloatValue

All three numeric text fields are set to True for the Commit On Focus Loss Property.

When the client modifies the value in NumericTextField1 (Tab or Enter or any focus loss) the Value of NumericTextField3.FloatValue changes properly. But when the value of NumericTextField2 is changed and focus is lost (Tab) then NumericTextField3.FloatValue does not change. It will change if the client presses Enter but not on loss of focus.

First of all, is there something very simple I can check or change to get these components to work properly?
Second, How can I make the expression binding for NumericTextField2 fire when either of the other to component values are changed with Commit on Focus Loss?

I’ll guess the tab order is entering NumericTextField3 when leaving NumericTextField2. If that’s the case, uncheck this and it should update as expected:
image
As edit was started on entry (which happened on exit of #2), the expression binding update was rejected.

If there’s no reason to edit NumericTextField3, you may want to change it to a label to take it out of the tab order completely.

2 Likes

witman, You guessed the order correctly. The user enters a value into #3, then usually tabs to exit and then enters a value into #1 and then tabs to exit. This exit lands them into #2, where they have the option of excepting the calculated value or modifying it.

Your solution works like a champ. It’s amazing how the little things can trip me up.
Thank you for your help.

1 Like