Configure the grid in layout editor, set snap to grid, create one row of buttons, copy-paste it as many times as you need. Should only take you a few minutes.
If you create buttons in the correct order (from left to right, then copy-paste this row down), you can then automatically assign level numbers to them, for example:
LevelText set text to "Level "&(self.IID+1)
.
This method is actually much easier than what you've been doing. Dynamic list generation as in my demo is used when the number of records is unknown. But since you know how many levels are in your game, it's easier to create buttons manually.
You have just solved the puzzle for me. I thought about that but did not know how to continue to create buttons down until now. All I need to do is increase the layout height and that solves everything.
I should have be thinking outside the box but its been fun learning some new stuffs.