Tab controls are really intended for Form View not list view so you're going to need to make some changes:
Option 1. Keep with a list or table view, but replace your tabs with buttons in the Header that perform finds and sort the found records to produce the scrollable lists that you want.
Option 2. Set up a self join relationship with a cartesian join operator like this:
YourTable::anyfield X YourTable2::anyfield
You create YourTable2 by selecting YourTable in Manage | database | relationships and then clicking the duplicate button (two green plus signs).
To get X in place of = in the relationship, you double click the relationship line to bring up a dialog box where you can make that change.
Now you can put a filtered portal to YourTable2 on each tab panel. Specify a different filter expression on each so that you only see the records appropriate for each panel in the respective portals. You can also specify different sort orders for each portal if you need that.
I went with option 1, it worked beautifully. Thank you!
I do have a couple follow up questions.
1. Calculation (countif related)
I have a function that works for counting the amount of people that have not been helped yet. In this case it is anyone without a "task accepted" box checked.
Unforunately this doesn't work when data is constrained via a find function.
Is there a way to do this when I have a constrained set of data (divided by their category of help needed)
2. Is there a way to change labels on a table using a script?
For instance, If the "help needed" section is for "jobs" is there a way to set a field in the header to "Total waiting for jobs". The label would go just before the "number of people waiting" field
1) You can use a relationship that matches only to people that don't have this box checked or a filtered portal to count all records in your table with this field empty.
Here's the filtered portal approach:
Define a summary field that counts all records in your database by "counting" a field that is never empty. You may have such a summary field already.
Open Manage | Databse | Relationships and make a self join like I described in my first post for Option 2.
Put a one row portal to this self join's "table occurrence" on your layout and put the summary field (also from the same table occurrence as the portal) inside the portal row.
Define a portal filter with this expression: IsEmpty ( YourTable2::Task accepted ) to filter out all records except those without a value in this field.
2) There are several ways you can do this. Here are two you can play with:
a) Define a text field with global storage in your table. Put it in your header as your "label" use set field to change the text in this field as needed when the user clicks a button to run one of your scripts.
b) Put this layout text in your header: <<$$FieldLabel>>
In your script, use:
Set variable [$$FieldLabel ; value: "Total Waiting for jobs" ]
I'll try it all out