GridViews are meant for something completely different: building scrollable, probably variable grids that usually have more widgets than could be displayed comfortably in a non-scrollable grid.
What we are doing here is simply displaying a small, fixed amount of I/O widgets in both the vertical and horizontal axis, which you should do using nested Rows and Columns.