CS中如何动态加载GridView单元格中的图片

一脸茫然 2011-10-18 12:54:21
前台GridView部分代码

 <asp:GridView ID="GV_coninfo" runat="server" onrowdatabound="GV_coninfo_RowDataBound" OnRowCommand="GV_coninfo_RowCommand"> 
<RowStyle Height="30px" />
<Columns>

//......
<ItemTemplate>

<asp:image ID="image_1" runat="server" />

</ItemTemplate>
</Columns>
<HeaderStyle Height="40px" CssClass="column2" />
<AlternatingRowStyle Height="30px" CssClass="column2"/>
</asp:GridView>



CS部分代码
 
protected void GV_coninfo_RowDataBound(object sender, GridViewRowEventArgs e)
{



if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView myrows = (DataRowView)e.Row.DataItem;

if (myrows[16].ToString().Trim() == "0") //如果16行的值为“0” 设置Image_1.ImageUrl
{
this.Image_1.ImageUrl = "~/images/icon-check.gif";
// Image img = (Image)GV_coninfo.Rows[i].Cells[5].FindControl("Image_1");
// img.ImageUrl = "~/images/icon-check.gif";

}

}
if (e.Row.RowType == DataControlRowType.Footer)
{

}

}



求一段设置GridView单元格中的图片的代码


上网查了一下,有在asp里给了这样的属性 ImageUrl='<% #DataBinder.Eval(Container,"DataItem.Imgurl") %>' />

不知道在CS里怎么给值。直接通过控件ID 给值不行吗?
...全文
125 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2011-10-18
  • 打赏
  • 举报
回复
DataRowView myrows = (DataRowView)e.Row.DataItem;
Image m = e.Row.FindControl("image_1") as Image;
if (myrows[16].ToString().Trim() == "0") //如果16行的值为“0” 设置Image_1.ImageUrl
{
m.ImageUrl = "~/images/icon-check.gif";


}
else
{
m.ImageUrl = myrows[16].ToString();
}
jlclyx 2011-10-18
  • 打赏
  • 举报
回复
如果是,那么要先在gridview中查找到该行中图片控件。然后赋值,大概后台代码如下:

if (myrows[16].ToString().Trim() == "0") //如果16行的值为“0” 设置Image_1.ImageUrl
{
Image Image_1=(Image)myrows.FindControl("Image_1");
Image_1.ImageUrl = "~/images/icon-check.gif";
}


可能要调试一下,大概思路就是这样。
Im_Sorry 2011-10-18
  • 打赏
  • 举报
回复
读取数据,赋值~
jlclyx 2011-10-18
  • 打赏
  • 举报
回复
你是想在gridview里面某列值为“0”的时候就显示
<ItemTemplate>里面的图片么?
1800包吃包住 2011-10-18
  • 打赏
  • 举报
回复
<asp:GridView ID="GV_coninfo" runat="server" onrowdatabound="GV_coninfo_RowDataBound" OnRowCommand="GV_coninfo_RowCommand">
<RowStyle Height="30px" />
<Columns>

//......
<ItemTemplate>

<asp:image ID="image_1" runat="server" ImageUrl='<%# Eval("图片字段")%>' />

</ItemTemplate>
</Columns>
<HeaderStyle Height="40px" CssClass="column2" />
<AlternatingRowStyle Height="30px" CssClass="column2"/>
</asp:GridView>


================后台代码
this.datagridview.DataSource=数据源
this.datagridview.DataBind();
一脸茫然 2011-10-18
  • 打赏
  • 举报
回复
大侠们醒醒

62,263

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧