我想在gridview中显示图像。我的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 :(得分:0)
您只需将“图像路径”作为字符串参数传递给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();