2014-01-13 35 views
1

我在ASPXGridView上有幾列包含布爾值。用ASPXGridView中的圖像替換布爾值

我想用勾號圖標替換「真」的值。 然後,我想用十字圖標替換錯誤的值。

有沒有辦法做到這一點?我已經有了勾號和十字的圖標圖像。

感謝

回答

0

你可以做這樣的事情:

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"); 
    } 
} 
0

你將不得不對的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; 
     } 
    } 
} 

在上面的代碼中,我簡單地檢查你的boolean字段的值上rowdatabound,並相應地設置image path或決定是否設置「交叉圖像路徑」或設置「Tick圖像」路徑。