There is a way to layout Control nodes in a grid using the GridContainer node, however you may have to draw the grid lines yourself. Either from the nodes you place in the grid (by changing their theme to a StyleBoxFlat with borders for example), or using custom _draw() from a script on the grid container.
Another way is to use an ItemList node with multiple columns. This one is data-driven instead and does not “contain” nodes, but I know less about theming it though (for example, the “icon mode view” in Godot’s FileExplorer is made using an ItemList).