Conditional Action Button Disabled When App Is Launched from Tracker

I have an app layer for quotes that can be launched from two different menus: Quote Entry and Quote Tracker. On the quote detail page, I want to add a button—preferably an action data button—that displays a message or performs a similar action.
The button should only be visible when the selected quote line has a specific part number, for example, XYZ. It also needs to be clickable regardless of whether the user opened the quote through Quote Entry or Quote Tracker.

What I’ve Tried

  • I bound the button to a field on the data view and used a row rule to control visibility based on the part number. This works for the part number condition, but when the app is launched through Quote Tracker, the button becomes disabled.
  • I tried overriding the disabled property, but that did not resolve the issue. I had trouble finding another appropriate property to override.
  • I then removed the binding from the button, which fixed the disabled-button issue when launching from Quote Tracker. However, without the binding, the row rule no longer worked.
  • I also tried using a row-change event to hide the button when the selected quote line did not have part number XYZ, but that ended up hiding the button for all quote lines instead of only the current one.

Question

How can I make an action button conditionally visible based on the selected quote line’s part number, while keeping the button enabled and functional when the same app is launched from either Quote Entry or Quote Tracker?

I think this solution will also apply for you. How do I set a variable if a menu is launched read only? - #4 by dcamlin

That addresses a different part of my problem that does not apply in this situation.

Have you tried data rules?

Of course, but your button needs to be bound to a data view for that to work. If I bind the field, then the button gets disabled when using quote tracker.

I am probably missing something again, but when i bound the button to “TransView.anything”, it works in tracker. Enabled for one part, not the other.

Yeah, it can be a little confusing. Change your row rule to hide the button if it doesn’t equal “xyz”. Then run both the entry and the tracker menus. The button should be disabled in quote tracker, but I don’t want it to be.

In the example i showed, the button is enabled when the part = XYZ in quote tracker.

Isn’t that what you wanted?

If you bind the button to TransView, it will be enabled by default even in tracker, so I was disabling if for the other cases.:downcast_face_with_sweat:

Oh snap, you’re right. I didn’t read carefully enough yesterday. The key was to use the TransView. Thank you. :slightly_smiling_face: