ASP.Net การเปลี่ยนรูป Image ใน GridView โดยอ้างอิงจากค่าที่ Query
จะต้องใช้พวก Template Field ครับ จากนั้นใส่เงื่อนไขใน RowDataBound ครับ เช่น
ASPX
<ItemTemplate>
<asp:Image ID="imgStatus" runat="server" />
</ItemTemplate>
Code (C#)
protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Image imgStatus = (Image)(e.Row.FindControl("imgStatus"));
if (imgStatus != null)
{
if (DataBinder.Eval(e.Row.DataItem, "STATUS") == "1")
{
imgStatus.ImageUrl = "~/Images/true.gif";
}
else
{
imgStatus.ImageUrl = "~/Images/false.gif";
}
}
}
}
Date :
2014-02-06 09:40:10
By :
mr.win
ผมใช้ Template Field ครับ แต่เช็คตั้งแต่ตอน Query แล้ว ใช้
Select Case status
when '1' then 'images/true.gif'
when '2' then 'images/false.gif'
end as status
ครับ แล้ว bind เอาเลย
Code (ASP)
<ItemTemplate>
<asp:Image ID="imgStatus" runat="server" ImageURL="<%#bind("Status")%>" />
</ItemTemplate>
ประมาณนี้ครับ
Date :
2014-02-06 13:21:56
By :
Mr.T-Bag
ขอบคุณมากครับTC Admin
เดียวผมจะเอาไปลองทำทั้ง2แบบเลยครับ
Date :
2014-02-06 14:35:23
By :
darknessken
Load balance : Server 01