将图像动态添加到asp.net c#网格视图中

k3bvogb1  于 2022-12-24  发布在  .NET
关注(0)|答案(1)|浏览(156)

我想在网格视图中显示图像。我的网格视图填充如下:正面:

<asp:GridView 
    ID="GridViewProduct"
    runat="server" 
    CellPadding="4" 
    GridLines="Horizontal"
    AutoGenerateColumns="False"
    width="1020"
    onrowcommand="GridViewCase_RowCommand">
        <Columns>
            <asp:BoundField DataField="ID" ItemStyle-HorizontalAlign="Center" ItemStyle-CssClass="IDKolonne" HeaderText="Id" ItemStyle-Width="40px" HeaderStyle-CssClass="header"/>
         <asp:ImageField DataImageUrlField="idimg" NullImageUrl="images/thumbs/2.jpg">
            <ControlStyle Height="40px" Width="40px" />
            </asp:ImageField>

            <asp:buttonfield buttontype="Image" ItemStyle-HorizontalAlign="Center"  ImageUrl="~/img/trash.png" commandname="Del" text="Slet Produkt" HeaderText="Slet Produkt"/>
            <asp:buttonfield buttontype="Image" ItemStyle-HorizontalAlign="Center"  ImageUrl="~/img/change.png" commandname="Select" text="Se / Ret" HeaderText="Se / Ret"/>
        </Columns> 
    </asp:GridView>

正如你所看到的,我能够插入静态图像。我想从我的数据库中引用ID广告图像。我的网格视图是这样构建的:

DataTable table = new DataTable();
    table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("idimg", typeof(System.Drawing.Image));

    DataTable dt = new DataTable();
    dt = galFac.getCurrentUsersElements(3);

    if (dt.Rows.Count > 0)
    {
        foreach (DataRow item in dt.Rows)
        {
            table.Rows.Add(item["Id"]);
        }

        GridViewProduct.DataSource = table;
        GridViewProduct.DataBind();

        GridViewProduct.UseAccessibleHeader = true;            
    }

怎么可能呢?谢谢。

nwlls2ji

nwlls2ji1#

您只需要将“image path”作为字符串参数传递给gridview数据源,并在gridview上使用以下asp:Image

<asp:Image id="abc" ImageUrl =<%#Eval("column_name_image"))%>

aspx.cs代码如下所示:

DataTable table = new DataTable();
table.Columns.Add("ID", typeof(System.Int32));
table.Columns.Add("column_name_image", typeof(string));

.....
.....
.....

GridViewProduct.DataSource = table;
GridViewProduct.DataBind();

相关问题