table setContainerDataSource vs row by row

We use Vaadin for some internal operations, the app has been running almost 18 months now with a number of sprints for new features.
I have a container that has more than the columnsI need for a table. The other fields in the container are used to populate a other - related component.
I did this so I didn’t have to go to the database twice - but as a result, I have to populate the table row by row. I would like to just call table.setContainerDataSource. But calling this blows away the columns I have defined in the table and puts in every column in the container - not what I want.
Is there a way to use setcontainerDataSource and have the table populate with only the rows in the container I want - and not load row by row?