datagrid行里某一列内容用图片显示
我在用datagrid显示数据的时候,如果要实现每行某一列的内容用图片显示,那怎么实现呢。
比如
该列内容从数据库里读出的数据是 1、2或3
然后根据1、2或3来判断显示对应哪一张图片,如果是1那就显示1.gif,如果是2那就显示2.gif,如果是3那就显示3.gif,这怎么实现呢?请大家帮忙!
------解决方案--------------------protected void dlList_ItemDataBound(object sender, DataListItemEventArgs e)
{
System.Web.UI.HtmlControls.HtmlImage ige = new HtmlImage();
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
ige = (System.Web.UI.HtmlControls.HtmlImage)e.Item.FindControl( "ig ");
string d = (string)DataBinder.Eval(e.Item.DataItem, "small_images_url ", "{0:d} ");
string c = (string)DataBinder.Eval(e.Item.DataItem, "id ", "{0:d} ");
if (d == null || d == " ")
{
switch (c.ToString())
{
case "1 ":
ige.Src = "images/person_icon_temp10.gif ";
break;
case "2 ":
ige.Src = "images/person_icon_temp1.gif ";
break;
case "3 ":
ige.Src = "images/person_icon_temp8.gif ";
break;
case "4 ":
ige.Src = "images/person_icon_temp7.gif ";
break;
case "5 ":
ige.Src = "images/person_icon_temp2.gif ";
break;
case "6 ":
ige.Src = "images/person_icon_temp6.gif ";
break;
}
}
------解决方案--------------------前台 <asp:TemplateColumn ItemStyle-HorizontalAlign= "Center " ItemStyle-Width= "10 ">
<headerstyle> </headerstyle>
<itemtemplate>
<img alt= " " src= " <%# geturl(DataBinder.Eval(Container.DataItem, "数据 ")) %> ">
</itemtemplate>
</asp:TemplateColumn>
后台 geturl方法
if(数据==1)
{
return 图片路径
}
if()
{
}大概就是这个意思
------解决方案--------------------画面:
<ItemTemplate>
<asp:Label ID= "lblPicture " Text= ' <%# DataBinder.Eval(Container.DataItem, "画像 ")%> ' Runat= "server "> </asp:Label>
</ItemTemplate>
后台:
SELECT CASE STATE WHEN 1 THEN '1.GIF '
WHEN 2 THEN '2.GIF ' ELSE '3.GIF ' END AS 画像
FROM TB_XT_ONLINE
DataRow( "画像 ") = " <img src= '../ " + .Item( "画像 ").ToString.Trim() + " '> "