This may help to you..
Better to use DataTable than the DataReader
public static DataTable FillGridView()
{
DataTable dt = new DataTable();
SqlCommand SqlCmd = new SqlCommand("SELECT * FROM MYTABLE",conn);
SqlCmd.CommandType = CommandType.Text;
try
{
conn.Open();
dt.Load(SqlCmd.ExecuteReader());
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error : "+ex.Message);
}
return dt;
}