I'm not an expert, but my understanding is that you want to pass the entire data set to the grid control at once.
If I understand how the Data Reader works, it needs to be hit again and again, dispensing one record at a time until it has cycled through the data. This won't work with a grid control. (I'm tying to find out more about the Data Reader myself today).
Try creating a dataset instead and binding that to the grid, I think you'll have better luck.
Craig in NJ