ASP.NET Gridvgiew。交换图像的字符串

时间:2012-07-24 09:03:44

标签: c# asp.net gridview webforms

我正在使用gridview,我正在使用gridview中的boundfield将数据库中的数据显示在其中。

gridview中的2列仅显示 YES NO 值。我想将YES或NO换成绿色刻度图像或红色X图像......任何人都可以帮我解决这个问题或指向类似的解决方案。我用c#

5 个答案:

答案 0 :(得分:1)

使用TemplateFields填充gridview

如果您拥有 ,没有值的字段,请将<%# Eval("YourValue") %>传递给返回您需要使用的图片路径的方法

例如

public static string GetImage(string value)
{
    var str = "default image url";
    if(!string.IsNullOrEmpty(value))
    {
    if(value=="Yes")
          str = "yes image url";
    else if(value=="No")
          str = "no image url";
    }
    return str;
}

答案 1 :(得分:1)

要在aspx页面上使用的代码:

  <asp:TemplateField HeaderText="Image">
      <HeaderStyle BackColor="#FFD653" Width="10%" HorizontalAlign="Center" />                               
      <ItemTemplate>                         
          <img src='<%#GetImagePath(Eval("databasecolumnvalue").ToString())%>'/>
      </ItemTemplate>
      <ItemStyle HorizontalAlign="Center"  />
  </asp:TemplateField>

要在cs文件上使用的代码

 public void GetImagePath(object value)
  {
    if(!string.IsNullOrEmpty(Convert.ToString(value)))
      {
         if(Convert.ToString(value)=="Yes")
             return "yes image url";
         else if(Convert.ToString(value)=="No")
             return "no image url";
      }
   }

答案 2 :(得分:0)

你也可以尝试这个

<asp:TemplateField>
<ItemTemplate>
    <%= Eval("Field") == "Yes" ? "<img src='tick.png' />" : "<img src='cross.png' />" %>
</ItemTemplate>
</asp:TemplateField>

答案 3 :(得分:0)

你可以拥有一个带有runat =“server”属性的图像,并在RowDataBound事件中更改代码隐藏中的src。

例如:

<ItemTemplate><img id="theImage" runat="server" /></ItemTemplate>

在代码隐藏中:

Control ctl = e.Row.Cells[0].FindControl("theImage");
HtmlControl htmlCtl = ctl as HtmlControl;

if (htmlCtl != null)
{
    String image = ((DataRowView)e.Row.DataItem)[0] as String == "YES" ? "images/accept.png" : "images/cancel.png";
    htmlCtl.Attributes["src"] = image;
}

答案 4 :(得分:-1)

在您的代码后面创建一个公共函数,它应该接受字符串类型参数并在您的design / .aspx页面上使用该公共函数并检查公共函数是否为yes然后返回

<img src='path of your Green tick image' />

否则返回

<img src='path of your red X image' />

但是你无法在绑定字段上使用这个公共函数......你必须使用模板字段