In solid view, my object's smooth however in render mode it's not. What's the problem?
Solved! Just increased value of view in render in subdivision surface modifier
Here is what I think you could have done: you didn't set the object as "smooth" shading with the toolbox button visible in your images, and you had a subsurf with a low "render" level, like 1 but high "view" level...
This makes the object appear "smooth" (thanks to the subsurf settings) in the 3d view but "solid" when rendered.