例如一个表
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 @ @ @
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 @ @ @
用模板列<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' />";
}
}
在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>
...
可是不行,怎么办
<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>