3

我在 gridview 中有一个画廊,可以显示数据库中的图片。

我需要在水平布局中显示 gridview。

现在图片是从上到下组织的,我怎样才能改变gridview,让它从左到右在一行中显示图片?

html代码:

<asp:GridView ID="GridView3" class="GridView1" runat="server" Width="400px" AutoGenerateColumns="False" Height="90px"
                    CellPadding="4" GridLines="Horizontal">
        <Columns>
            <asp:ImageField DataImageUrlField="Image_path" DataImageUrlFormatString="~/Pic/{0}" HeaderText="Images">
                <ControlStyle Height="100px" Width="100px" />
            </asp:ImageField>               

        </Columns>
</asp:GridView>

c#代码:

 con.Open();

    cmd = new SqlCommand("select image_path from tblImages", con);
    da = new SqlDataAdapter(cmd);
    dt = new DataTable();
    da.Fill(dt);
    GridView3.DataSource = dt;
    GridView3.DataBind();

con.Close();

4

2 回答 2

5

使用 a DataListwith RepeatDirectionHorizo​​ntal 代替。

这很有效,因为无论如何您都想显示一列。

<asp:DataList id="Images" 
       RepeatDirection="Horizontal"
       RepeatLayout="Table"
       RepeatColumns="0" runat="server">
     <HeaderStyle BackColor="#aaaadd">
     </HeaderStyle>
     <AlternatingItemStyle BackColor="Gainsboro">
     </AlternatingItemStyle>
     <HeaderTemplate>
        Images ...
     </HeaderTemplate>
     <ItemTemplate>

        <asp:Image id="ProductImage"
             AlternatingText='<%# DataBinder.Eval(Container.DataItem, "StringValue") %>'
             ImageUrl='<%# Eval("image_path","~/Images/{0}") %>' />
             runat="server"/>

     </ItemTemplate>

</asp:DataList>
于 2013-10-11T11:30:30.137 回答
0

用这个

<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px">
                </asp:DetailsView>
于 2016-07-23T11:39:19.963 回答