I am currently working on displaying a game library on an asp.net website. I have stored the game info (such as name, cover image etc) in a database, and I want to retrieve the games from the database and display it on my site. Right now, I am using GridView to get the data. It gets the values uname (the name of the videogame) and uimg (cover image for the game) from my table, and displays it like this:

However, I would like to edit the layout so that it looks something like this:

So as you can see, where the uname is displayed right below uimg, and with something like 3 games on each row.
The code (just using the standard GridView in Visual Studio) looks like this so far. Default.aspx:
<asp:GridView ID="GridView1" runat="server" CellPadding="1" ForeColor="#333333" GridLines="None" AutoGenerateColumns="false">
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F8FAFA" />
<SortedAscendingHeaderStyle BackColor="#246B61" />
<SortedDescendingCellStyle BackColor="#D4DFE1" />
<SortedDescendingHeaderStyle BackColor="#15524A" />
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:HyperLink ID="lbl1" runat="server" NavigateUrl='<%#Eval("unavurl") %>' Text='<%#Eval("uname") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:HyperLink ID="img" runat="server" ImageUrl='<%#Eval("uimg") %>' NavigateUrl='<%#Eval("unavurl") %>' ImageHeight="159" ImageWidth="128" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Also, just to add it, here's the C# code:
SqlDataAdapter da = new SqlDataAdapter("select uname,uimg,unavurl from games", con);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
DataBind();
So, does anyone know how I can achieve this? Can this be done with Gridview, or should I be looking at something different? Thanks!