Instant sort in table view (FMP20, MacOS12)

How can I re-activate the instant sorting of records in table view?

I was used to instant sorting of my records when I clicked on the field name in table view, as it was available in .fp7

I now have to select Sort Ascending (or Descending) manually from the field's dropdown menu.

I could provide certain actions to the layout, I guess. But I'm afraid those will become pretty complicated for the features I want:

  1. sorting by multiple fields

.fp7 provided both the shift and cmd extension for multiple fields, giving an instant sort by those selected fields.

.fp12 does permit this multiple selection, too, but then requires the drop down command. Would scripted actions permit to use multiple selected fields?

  1. toggle ascending/descending sort

Would I have to use permanent variables to toggle whether I want to toggle from ascending to descending sort order? Would I need extra variables to track what my former sort fields were and reset the toggle field when I use, add or remove other sort fields?

I guess this can be done - but before I do dig into that, maybe I do miss a simple feature that is hidden (to me) somewhere?

  1. use sort order in the order I want

It was a bug to me that I could always select multiple fields since table view became available. But the default sort order was from left to right, instead of the order that I chose.

Example: A table view with fields "one" to "five", arranged in table view in that order. I want to sort by field "four" first, then by field "two". So I click on column header "four", then cmd-click on "two". .fp7 then sorted after a short delay by "two", then "four". I then had to press cmd-s to change the order of two/four to four/two manually in the Sort Records dialog.

Using the order of fields I select in that order might be a significant improvement for me.

  1. toggle instant resort

While working on that: is there an option to activate an instant sort, but then freeze that sort order?

My problem: I do some editing between records, shifting data between different fields, which are part of the sort order. So when I remove some text from one field and shift it to another field, this may work within the record, but may cause an instant resort once I leave the actual record, shifting the two records I just want to work on several hundred records apart.

I know about workarounds such as providing a new serial count, but those workarounds have several flaws (1: waste of time to update thousands of records just for adding a temporary sort count; 2: corrupting the "date of modification" for the records I actually work on).

So a toggle switch might be nice to keep the current sort order until I actually command a resort (cmd-s+return)

The "Keep records in sorted order" checkbox of the "Sort Records" dialogue box is what instantly resorts records. I think it's checked by default. Uncheck it and your records will stay put when you change data that was used in the sort order.

Hope this helps!

Regarding 1, 2 and 3…

I know of no built-in feature that gives you the .fp7 behaviour in .fp12. A scripted approach seems the only option to me. I unfortunately see a number of issues.

A scripted approach would require you to add buttons… but where would they go? You could add a header part to the table view… but the button positions won't change when the user resizes or reorders a column. You could lock down the size and order of fields… however that hobbles the usefulness of table view.

Buttons would also duplicate the column headers. You could omit the column headers… however that also removes the dropdown menus of the headers. You could re-create some of the menu options by creating pseudo-menus of your own using popovers… however that quickly becomes a large task and some of the menu features are simply not available via scripting.

In short, a scripted approach could be a large endeavour and, no matter what, compromises will be inevitable.

Hope this helps

1 Like

Thanks, I'll try.