例如一个表
id number check
1  A2010  1231
2  A2025  122221
3  A2068  111
4  A2069  321111其中check字段中
1代表未审 ,2代表审核 ,3代表不同意  每个数字代表不同的审核人的审核状态
我想在gridview里,用3个不同的图片来代表这1、2、3、并显示出来怎么做?

A2010  @ @ @ @
A2025  @ @@@@ @
A2068  @ @ @
A2069  @ @ @

解决方案 »

  1.   

    后台判断
    用模板列<asp:TemplateColumn>在<Columns>下加上标签
    <asp:TemplateColumn>
      <itemstyle font-bold="False" font-italic="False" font-overline="False" font-strikeout="False" font-underline="False" horizontalalign="Center" />
      <itemtemplate>
      <%#GetReadedImage(Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "readed")),DataBinder.Eval(Container.DataItem, "assignedTo").ToString()) %>   
      </itemtemplate>
      <headerstyle width="3%" />
     </asp:TemplateColumn>
    DataBinder.Eval(Container.DataItem, "readed")为绑定数据源的哪个字段
    后台cs代码  public string GetReadedImage(bool readed, string assignedTo)
      {
      ComplaintSystem.Model.Transactor userMe = (Transactor)Session["currentUser"];
      if (this.Request.QueryString["projectID"] != null || this.Request.QueryString["moduleID"] != null)
      {
      if (userMe.UserID.Trim() != assignedTo.Trim())
      {
      return "";
      }
      }  if (this.Request.QueryString["tag"] == null || this.Request.QueryString["tag"].ToString() == "0" )
      {
      if (!readed)
      {
      return "<img src = '../../images/unread.jpg' />";
      }
      else
      {
      return "<img src = '../../images/readed.jpg' />";
      }
      }
      else
      {
      return "<img src = '../../images/readed.jpg' />";
      }
      }
      

  2.   

    <img src='<%# GetUrl(Eval("check").ToString())%>'然后在后台写个方法,根据check的值返回图片的路径
      

  3.   

    ComplaintSystem 怎么引用 
      

  4.   

    本人在重新解释一下
    在gridview中要显示的是一连串的图片,字段里的值是随意的1、2、3 的组合且不限位数,如1123或12311或1111 ...    数字1用image1 显示  数字2用image2显示 数字3用image3显示 在gridview里的RowDataBond事件里这样写,可是不成foreach (Control imag in e.Row.Cells[6].Controls)
                   {
                       //string dm = Convert.ToString(e.Row.Cells[5].FindControl("B_why"));
                       if (e.Row.Cells[5].Equals("1"))
                           ((System.Web.UI.WebControls.Image)imag).ImageUrl = "~/centerbody/check1.gif" ;
                       else if(e.Row.Cells[5].Equals("2"))
                           ((System.Web.UI.WebControls.Image)imag).ImageUrl = "~/centerbody/check2.gif";
                       else if (e.Row.Cells[5].Equals("3"))
                           ((System.Web.UI.WebControls.Image)imag).ImageUrl = "~/centerbody/check3.gif";
                   }
    html页面里
    ...
                    <asp:TemplateField HeaderText="tt">
                        <ItemTemplate>
                            <asp:Image ID="Image1" runat="server" />
                        </ItemTemplate>
                        <ItemStyle HorizontalAlign="Left" Width="100px" Wrap="False" />
                    </asp:TemplateField>
    ...
     可是不行,怎么办
      

  5.   


    <asp:TemplateColumn>
      <itemstyle font-bold="False" font-italic="False" font-overline="False" font-strikeout="False" font-underline="False" horizontalalign="Center" />
      <itemtemplate>
      <%#DataBinder.Eval(Container.DataItem, "check").Tostring().replace("1","<img src=~/centerbody/check1.gif border=0>").replace("2","<img src=~/centerbody/check2.gif border=0>").replace("3","<img src=~/centerbody/check3.gif border=0>") %>   
      </itemtemplate>
      <headerstyle width="3%" />
     </asp:TemplateColumn>
      

  6.   

    感谢楼上wangkun9999 !用你的方法,很简单,谢谢^^