加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何让gridview中的一列成为图像?

发布时间:2020-12-16 07:10:03 所属栏目:asp.Net 来源:网络整理
导读:我有一个在代码隐藏中创建的gridview. 在下面的代码中,我希望第三列是一些图像(例如:PDF图标或类似). 我认为需要为名为“Image”的列更改Type.GetType? DataTable dt = new DataTable();GridView gview = new GridView();DataRow dr;DataColumn dc = new D
我有一个在代码隐藏中创建的gridview.

在下面的代码中,我希望第三列是一些图像(例如:PDF图标或类似).

我认为需要为名为“Image”的列更改Type.GetType?

DataTable dt = new DataTable();
GridView gview = new GridView();
DataRow dr;
DataColumn dc = new DataColumn("Description",Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("Image",Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("Size (MB)",Type.GetType("System.String"));
dt.Columns.Add(dc);
{
    dr = dt.NewRow();
    dr["Description"] = item["Name"];
    dr["Size (MB)"] = item["Size"];
    dr["Image"] = "pdf.gif"; // put complete reference here,dt.Rows.Add(dr);
}
gview.DataSource = dt;
gview.DataBind();
Controls.Add(gview);

解决方法

只需将图像URL存储在DataTable中,而不是实际图像中.然后,在GridView中使用TemplateField并将一个Image放在ItemTemplate中:

<asp:TemplateField>
    <ItemTemplate>
        <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("ImageUrlColumn") %>' ... />
    </ItemTemplate>
</asp:TemplateField>

您还可以使用ImageField:

<asp:ImageField DataImageUrlField="ImageNameColumn" DataImageUrlFormatString="/images/{0}"></asp:ImageField>

编辑

声明列时,请尝试以下操作:

dt.Columns.Add("Image",typeof(string));

要设置图像列的值,请尝试以下操作:

dr.SetField<string>("Image","img.png");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读