2014-01-28 321 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