ListView is a much better tool in regards to displaying and manipulating data. With the ListView we use templates to design the different views.ListView control can exceed the capabilities of Repeater or DataList control, but GridView still has advantage in faster implementation and short markup code. GridView's common problem is large ViewState which could cause page loads slowly.
The reason to use ListView would be if you need some special layout, for example, to create a table that places more than one item in the same row, or to break free from table-based rendering altogether) - which is not possible with GridView.

Hi Oswaldlily,
GridView doesn't have any "OnRowInserting" attribute, we have to explicitly specify the row insertion functionality part from gridview, where as a ListView does have it "On Item Inserting" and also a template can be designed for item insertion using ListView.