not with the portal control.
If you need to flip data around perhaps you could look at the venerable virtual list technique
It is possible to view what looks like a portal vertically. It would actually be multiple portals, with the same relationship, with the same fields. Each would have a different "Initial row:" (1, 2, 3, etc.) and each would have a "Number of rows:" as 1 (i.e., only shows a single row). Each would leave [ ] Show vertical scroll bar off.
It is basically a duplicate of the first portal (set to the "Number of rows: 1), then just changing the "Initial row:" to the next number. They each would show only 1 row (record).
You'd need to use the space to show the rows|records however, so you'd need to know how many to show, and take up the space. If you had more related records than these portals, they would not show.
I suppose it would be possible to add a special method to the relationship, so that you could see 1 to 5, then 6 to 10, etc.; but that require some way to make that work. I don't remember ever doing such...
This is from an old file I had. This is the portal(s), same relationship, to view both the 1st row and the 2nd, each on its own 'portal', and side by side. The following is what the options are for the 2nd. Notice "Initial row: 2", and "Number of rows: 1"
This is what it looks like; 2 portals, same relationship, side by side.
I have done this in one of my databases, to get it show the next set of records is not too difficult or complicated. In Steps:
1. Create a portal without vertical scrolling allowed, and set the number of rows to one. Leave initial row to one as well. We will come back to this later on.
2. On the related table, create a field, we'll call it Table::Serial that gives each record a number, so the first record would be 1, next record 2, and so on.
3. Back on your original layout, the one with the portals, create a field, we'll call it MainTable::Serial and set it to 1.
4. Set the filtering option of your first portal to show only the record where Table::Serial equals MainTable::Serial.
5. Copy this portal as many times as you want, but set the filtering options so for the second one, it shows the record where Table::Serial = MainTable::Serial + 1. And on the third portal, it would be Table::Serial = MainTable::Serial + 2, etc.
6. We'll say you have 5 portals lined up, so you see records 1 through 5. just set the field MainTable::Serial to 6 and commit the record. Then you'll see records 6-10. An easy way to do this, is to create a button that has two steps: Set Field [MainTable::Serial ; MainTable::Serial + 5] (And a previous button that does ( - 5 )
Commit Records/Requests [Perform without dialog]
You now have a horizontal portal!
The short answer is, no, not if you want it to behave in all other aspects like a portal. However, if you want to display a subset of data where each column displays one record with multiple fields, and each row displays the same field across multiple records, then there are two options. One is indeed the virtual-list report; the other is what fentonjones suggests. In that case each portal shows one record and is tall & skinny rather than short & wide. In both cases the limitation is that there's no way to display more data, either by scrolling or by stretching the portal box to make it larger.
You might consider the performance impact of having multiple portals and the added control logic of these workarounds. An approach that uses a normal "list" mode layout or a form with just a single portal might be just as usable, easier for you to maintain, more efficient, and more responsive.
Would love to see a demo file of this
I tried to upload it, but after I did so and opened the uploaded version, it said the file is read only. Don't know how to fix that. Soon as I figure it out, I'll get you the example file.
try zipping the file before uploading.
You need to expand zip file before open files in zip.
Here ya go! Example file of creating a horizontal portal! You'll just need to unzip the file before opening (Thanks all!). Also, you can make this a lot smarter using SQL, so the portal will always show at least one record, and never show blank ones. Example: if you have 6 records, it will never show records "7"-"10".
Horizontal Portal Zipped.zip 110.8 K
Everyone's having fun with this, but it doesn't solve my problem. Having multiple portals along the width of the page means that I need to know the number of portals I'll need. This doesn't work if the number isn't fixed. I need a portal where the rows are columns instead of rows.
If I could have a larger left margin where I could list the fixed values, then have a one column report where I could list the variable values, that would work for me, however I still wouldn't have the exact Excel-like table.
Left column (fixed) Name 1 Name 2 Name 3 Name 4 ...
Value 1 10 10 11 12
Value 2 8 9 7 8
Value 3 15 15 16 13 ...
Value 5 …
I got one reply that used a table, with a join between the values and variable tables, but that's didn't work the way I wanted it too, it used the many portals option.
I guess this one is a no go unless FileMaker comes up with something in the future. Thanks everyone.