// Add the grid to the listPanel
listPanel.add(grid, new RowData(-1, -1));

// Add the list to the column
leftColumn.add(listPanel, new RowData(-1, -1));

// More contentPanels with more stuff

// Add the column to the body
body.add(leftColumn, new HBoxLayoutData());

// Layout the main container
((LayoutContainer)body.getParent()).layout();

The code I attached it works perfectly but it has a mistake.
As the grid doesn't have files initially, when I layout() the main container it gives to the grid the height of 0 rows, so when it loads the files (lets say 10 rows), it pushes down all the contentPanels below the listPanel.