我在 gridview 中有一个图像控件以及其他属性。我想知道如何设置图像 url 属性或如何根据属性值(如客户名称)分配某些静态图像?我想这样做,因为我没有在数据库中存储图像。请指导我该怎么做?我需要使用 gridview 的
RowDataBound
属性吗?
我想尝试这样的事情-
dt = g1.return_dt("select cust_name from tbl_details");
if(dt.Rows.Equals("XYZ"))
{
Set Image Url
}
else if(dt.Rows.Equals("XXX"))
{
Set Image Url
}
表:“tblA”
id int identity
name nvarchar(50)
ASPX:
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView><br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [tblA]">
</asp:SqlDataSource>
背后代码:
protected void Page_Load(object sender, EventArgs e)
{
//fill gridview
if( ! IsPostBack )
{
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string name = e.Row.Cells[2].Text;
Image img = (Image)e.Row.FindControl("Image1");
if (img==null)
{
return;
}
if(name == "XYZ")
{
img.ImageUrl = "~/Images/a.jpg";
}
else if(name == "XPS")
{
img.ImageUrl = "~/Images/b.jpg";
}
else
{
//default static image
img.ImageUrl = "~/Images/c.jpg";
}
}
试试这个
ASPX
<asp:GridView ID="GridView3" runat="server"
AllowPaging="True" DataKeyNames="DangerDownstream"
onpageindexchanging="GridView3_PageIndexChanging"
backcolor="White" onrowdatabound="GridView3_RowDataBound"
PageSize="5" Width="100%" AutoGenerateColumns="False"
EnableModelValidation="True">
<RowStyle CssClass="station_grid" />
<Columns>
<asp:BoundField DataField="DangerDownstream" />
<asp:TemplateField HeaderText="Notification">
<ItemTemplate>
<asp:Image ID="Img" runat="server" Height="25px" Width="25px"/>
<asp:Label ID="Ln" runat="server" Text="Label"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
CS
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)e.Row.Cells[2].FindControl("Img");
img.ImageUrl = "~/Images/warning2.png";