de Villiers runs up a century