我在ASPXGridView上有幾列包含布爾值。用ASPXGridView中的圖像替換布爾值
我想用勾號圖標替換「真」的值。 然後,我想用十字圖標替換錯誤的值。
有沒有辦法做到這一點?我已經有了勾號和十字的圖標圖像。
感謝
我在ASPXGridView上有幾列包含布爾值。用ASPXGridView中的圖像替換布爾值
我想用勾號圖標替換「真」的值。 然後,我想用十字圖標替換錯誤的值。
有沒有辦法做到這一點?我已經有了勾號和十字的圖標圖像。
感謝
你可以做這樣的事情:
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");
}
}
你將不得不對的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圖像」路徑。