我有一个gridview,它显示所有链接到sql语句的行和列...并且一切正常。
我想要添加一个新列,根据列的值显示图像。如果列具有值 - 它将显示图像。如果列值为空,则不显示任何图像。
我的sql类似于:
SELECT c.call_id, title, a.call_id as b_attach
FROM calls c
LEFT JOIN attachments a ON c.call_id = a.call_id
GROUP BY c.call_id,title,description, a.call_id
这个sql的回报是:
Call_id | 标题 |的 b_attach
1235 |标题在这里| 1235
1382 |另一个标题| NULL
因此,如果b_attach中存在某些内容 - gridview列中的diplay图像,则在gridview列中不显示任何内容
我的网格视图:
<asp:HyperLinkField SortExpression="call_id" HeaderText="Call id" DataTextField="call_id"
DataNavigateUrlFields="call_id" DataNavigateUrlFormatString="showcall.aspx?id={0}" />
<asp:HyperLinkField SortExpression="Title" HeaderText="Title" DataTextField="title"
DataNavigateUrlFields="call_id" DataNavigateUrlFormatString="showcall.aspx?id={0}" />
</Columns>
关于如何做到这一点的任何想法?
答案 0 :(得分:1)
您可以使用TemplateField
,并在其中使用以下内容:
<asp:Image runat="server" id="myImg" ImageUrl='<%# GetImage(DataBinder.Eval(Container.DataItem, "b_attach")) >%' visible='<%# null != DataBinder.Eval(Container.DataItem, "b_attach") %> />