2014-01-28 237 views
2

我想在gridview中显示图像。我的GridView被填充像这样: 前:动态添加图像到asp.net c#gridview

 <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的图像。我的gridview是这样建立的:

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;    
    } 

这将会成为可能吗? 谢谢。

+0

您是否将图像保存在数据库中的数据库或图像URL中,以及您使用了哪个数据库? – Jasti

+0

嗨,感谢您的快速回复。我保存图片网址 – user2761009

回答

0

你只需要通过“映像路径”作为字符串参数gridview的数据源并使用下面的ASP:图片上你的GridView

<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(); 
+0

对不起,作为一个noob。我不打算用ID绑定列吗? :table.Columns.Add(“abc”,typeof(string));和。我要在foreach中为<%#Eval(“column_name_image”))%>生成一个字符串名称。我想asp图像控件将runat =“服务器”。谢谢你的协助。 – user2761009