我有一个数据库,我从SQL返回,我想根据给定的结果向数组的每一行添加一个图像(Tick或Cross)。我打算在数组周围做一个foreach,if x==y
然后显示图像a else显示图像b,然后在gridview中显示数组之前将其添加到数组
c_gvResults.DataSource = arResults
任何人都可以指出我如何在c#asp.net中以编程方式从图像文件夹中获取图像,并根据上述标准在gridview中显示。
由于
答案 0 :(得分:0)
我认为您希望在列中获取<img>
元素,而不是实际的图像对象。特别是因为它们是蜱或交叉。只需将文件放在某处,制作相应的字符串,然后将这些字符串放入数组中。
答案 1 :(得分:0)
您真正需要做的是不将图像添加到数组中,而是将URL添加到数组中。然后,您可以使用ImageField或将该URL用作TemplateField中gridview中IMG标记的来源。有关如何执行此操作的一些示例位于this post。如果您不知道如何使用TemplateFields,check this out。
如果您不想在数据中添加URL字段,要获得条件格式,您的IMG标记可以如下所示。确切的语法可能不正确,但你明白了。 :)
<asp:TemplateField HeaderText="EmpID">
<ItemTemplate>
<img src="<%# Eval("whatevercolumn") == "Correct" ? "tick.gif" : "cross.gif" %>"/>
</ItemTemplate>
</asp:TemplateField>
答案 2 :(得分:0)
听起来你只想在网格视图中显示图像,而不是将其写回到数据库本身,因此您应该研究处理网格视图的RowDataBound事件以及使用行模板添加自定义列以进行显示图像。
在事件处理程序中测试您的表达式,然后根据结果在自定义列中显示相应的图像。
答案 3 :(得分:0)
如果您在查询中获得了JPG文件的文件名,您可以在GridView的<Columns> </Columns>
标记下的ASP页面上添加类似的内容。
<asp:ImageField DataImageUrlField="YourJPGFileNameColumn"
DataImageUrlFormatString="~\YourPathWhereTheImageIs\{0}.jpg" >
<ControlStyle Width="100px" />
</asp:ImageField>
&#34; YourJPGFileNameColumn&#34;必须是查询的列名返回,{0}是查询返回的值的位置。
例如,如果您的查询返回如下表:
| ProductID |
-----------
| 1234 |
| 010102 |
| 5678 |
您将编写如下代码:
<asp:ImageField DataImageUrlField="ProductID"
DataImageUrlFormatString="~\YourPathWhereTheImageIs\{0}.jpg" >
<ControlStyle Width="100px" />
</asp:ImageField>
问候。