If the line of code you're executing is setting the DataSource and that line takes 20+ seconds to run, no there is nothing you can do to speed that line up. You just have too much information you're binding to all at once.
You can try setting the DGV VirtualMode property to true. You'll have to provide a bit more code to handle the events that are now going to fire from the grid. You can find a tutorials on it
here[
^].
Basically, you're providing code to be the DataSource instead of providing just the data. This allows you to provide data for only the rows that the grid will display, speeding things up quit a bit.