以编程方式将图像添加到数组以添加到c#asp.net中的网格视图

时间:2013-05-10 18:59:12

标签: c# asp.net image gridview

我有一个数据库,我从SQL返回,我想根据给定的结果向数组的每一行添加一个图像(Tick或Cross)。我打算在数组周围做一个foreach,if x==y然后显示图像a else显示图像b,然后在gridview中显示数组之前将其添加到数组

c_gvResults.DataSource = arResults

任何人都可以指出我如何在c#asp.net中以编程方式从图像文件夹中获取图像,并根据上述标准在gridview中显示。

由于

4 个答案:

答案 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>

问候。