-3

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

c_gvResults.DataSource = arResults

谁能指出我如何在 c# asp.net 中以编程方式从图像文件夹中获取图像并根据上述标准在 gridview 中显示的正确方向。

谢谢

4

4 回答 4

0

我认为您想在列中获取<img>元素,而不是实际的图像对象。特别是因为它们是刻度线或交叉线。只需将文件放在某处,制作相应的字符串,然后将这些字符串放入数组中。

于 2013-05-10T19:01:29.083 回答
0

您真正需要做的不是将图像添加到数组中,而是将 URL 添加到数组中。然后,您可以使用ImageField或使用该 URL 作为模板字段中网格视图中 IMG 标记的来源。这篇文章中有一些关于你如何做到这一点的例子。如果您不知道如何使用 TemplateFields,请查看此内容。

如果您不想在数据中添加 URL 字段,以获取条件格式,您的 IMG 标签可以如下所示。确切的语法可能不正确,但您明白了。:)

<asp:TemplateField HeaderText="EmpID">
    <ItemTemplate>
        <img src="<%# Eval("whatevercolumn") == "Correct" ? "tick.gif" : "cross.gif" %>"/>
    </ItemTemplate>
</asp:TemplateField>
于 2013-05-10T19:04:27.717 回答
0

听起来您只想在 Grid View 中显示图像,但不想将其写回 DB 本身,因此您应该考虑处理 Grid View 的 RowDataBound 事件以及使用行模板添加自定义列以显示图像。

在事件处理程序中测试您的表达式,然后根据结果在自定义列中显示适当的图像。

于 2013-05-10T19:05:24.443 回答
0

<Columns> </Columns>如果在您的查询中获得 JPG 文件的文件名,您可能可以在 ASP 页面上的 GridView 标记下添加类似这样的内容。

<asp:ImageField DataImageUrlField="YourJPGFileNameColumn" 
               DataImageUrlFormatString="~\YourPathWhereTheImageIs\{0}.jpg" >
               <ControlStyle Width="100px" />
</asp:ImageField>

“YourJPGFileNameColumn”必须是查询返回的列名,{0} 是查询返回的值所在的位置。

例如,如果您的查询返回如下表:

| ProductID |
 -----------
| 1234      |
| 010102    |
| 5678      |

您将像这样编写代码:

<asp:ImageField DataImageUrlField="ProductID" 
               DataImageUrlFormatString="~\YourPathWhereTheImageIs\{0}.jpg" >
               <ControlStyle Width="100px" />
</asp:ImageField>

问候。

于 2013-05-10T19:32:34.513 回答