0

I'm using gridview and I'm displaying data from a database into it using boundfield within the gridview.

2 of the columns in the gridview only display a YES or a NO value. I would like to swap the YES or NO out for a green tick image or a red X image... Can anyone help me out with this or point me to a similar solution. I use c#

4

5 に答える 5

1

TemplateFields を使用して、gridview

フィールドにyes値がない場合<%# 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;
}
于 2012-07-24T09:17:20.777 に答える
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";
      }
   }
于 2012-07-24T09:25:46.520 に答える
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;
}
于 2012-07-24T09:47:00.297 に答える
0

これを試すこともできます

<asp:TemplateField>
<ItemTemplate>
    <%= Eval("Field") == "Yes" ? "<img src='tick.png' />" : "<img src='cross.png' />" %>
</ItemTemplate>
</asp:TemplateField>
于 2012-07-24T09:29:51.127 に答える
-1

コード ビハインドでパブリック関数を作成します。これは文字列型パラメーターを受け入れる必要があり、そのパブリック関数をデザイン/.aspx ページで使用し、パブリック関数をチェックインして、そうであれば戻ります

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

そうでなければ戻る

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

ただし、バインドされたフィールドでこのパブリック関数を使用することはできません...そのためにはテンプレートフィールドを使用する必要があります

于 2012-07-24T09:15:15.140 に答える