It takes some work and you lose some reporting flexibility (What happens if you have more names than will fit in one horizontal row?) but it can be done.
The simplest approach is to use what's referred to in Filemaker circles as a "horizontal portal".
If you haven't already, define a report where you have one record for each ID value.
Define a relationship as: IDtable::ID = YourTable::ID
Now you can place a conventional portal to YourTable on a Layout based on IDTable.
To make it "horizontal" to get your row, you place this portal in position as column 1--specifying that it show Initial Row: 1, Number of rows: 1.
Put a copy of this portal in column 2 and specify Initial row 2, Number of rows 2.
Repeat for each column, specifying sequential initial rows.
THank you very much for your reply, I am a newbie with FM , and your guide is really helpful to me.
This drive me crazy, FM is somehow restricted compare with other softwares. I can not take any value of any field in any record and display in wherever I want in a layout.
I will post after solving this problem