You can Do this in Different ways,
1).If we have the URLs of the Images in our table(ICollection) to which we binding the GridView we can directly use that column name to bind the data to GridView, By using
<asp:imagefield xmlns:asp="#unknown"></asp:imagefield>
as shown
<asp:imagefield alternatetext="no image" headertext="Image" dataimageurlfield="image" xmlns:asp="#unknown">
</asp:imagefield>
or if you dont have that collection(image collection) to which you are bonding, we can use
<asp:imag xmlns:asp="#unknown" />
tag and use OnDataBonding event to set ImageURL as shown
<asp:templatefield xmlns:asp="#unknown">
<itemtemplate>
<asp:image id="image" runat="server" />
</itemtemplate>
</asp:templatefield>
and code behind
void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image i = (Image)e.Row.FindControl("image");
i.ImageUrl = "wait.gif";
}
}