C# 用ASPXGridView中的图像替换布尔值

C# 用ASPXGridView中的图像替换布尔值,c#,asp.net,devexpress,boolean,aspxgridview,C#,Asp.net,Devexpress,Boolean,Aspxgridview,我的ASPXGridView上有几列包含布尔值 我想用记号图标替换“True”值。 然后我想用一个十字图标替换为false的值 有没有办法做到这一点?我已经有了勾号和叉号的图标图像 谢谢您必须检查rowdatabound上的布尔值,并相应地绑定图像,如下所示: protected void gridView_RowDataBound(Object sender, GridViewRowEventArgs e) { Image imgCtrl = (Image) e.Row.FindCon

我的ASPXGridView上有几列包含布尔值

我想用记号图标替换“True”值。 然后我想用一个十字图标替换为false的值

有没有办法做到这一点?我已经有了勾号和叉号的图标图像


谢谢

您必须检查rowdatabound上的布尔值,并相应地绑定图像,如下所示:

protected void gridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    Image imgCtrl = (Image) e.Row.FindControl("imgCtrl");
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        If(e.Row.DataItem("BooleanField"))
        {
        imgCtrl.ImageUrl = TickImagePath;
        }
        else
        {
        imgCtrl.ImageUrl = CrossImagePath;  
        } 
    }
}

在上面的代码中,我只是简单地检查了RowDataBond上布尔字段的值,并相应地设置了图像路径,或者决定是设置交叉图像路径还是设置勾号图像路径。

您可以这样做:

ASPX:

<ItemTemplate>
    <asp:Image ID="imgBooleanState" runat="server" AlternateText="State" ImageUrl='<%# GetBooleanState(Eval("MyBooleanValue")) %>' />
</ItemTemplate>
protected string GetBooleanState(object state)
{
    bool result = false;
    Boolean.TryParse(state.ToString(), out result);
    if (result)
    {
         return ResolveUrl("~/path/tick.png");
    }
    else
    {
         return ResolveUrl("~/path/cross.png");
    }
}