Guarda che se usi il datareader devi

1-creare una classe che rappresenta i tuoi dati
2-creai un arraylist con questa classe ad ogni loop del dr
3-assegni come dataSource l' arraylist
4-prelevi i dati tramite casting esplicito

Se hai bisogno di codice chiedi ...