DataGrid模板列显示图片问题

gloomyrancher 2006-10-30 05:13:09
目前可以有2种方法~~1种是把图片以2进制的方式存入数据库然后用流读出来(似乎这个方法大多人不太赞同说是读出来的话会很慢消耗很大~~当然我也不会)~~~~还有1种是把图片的路径存入数据库~可是如何让DataGrid帮定到他呢~~~比如磨板列里是checkbox我可以用(Check)来转换成check类型 比如if(((CheckBox)DataGrid2.Items[j].Cells[4].Controls[1]).Checked)判断CheckBox是不是被选中~~~那DataGrid怎么把图片弄到磨板列的image上呢
...全文
173 14 打赏 收藏 举报
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wh110 2006-10-31
  • 打赏
  • 举报
回复
图片的路径可以写在绑定这一列的控件值上面。
nekiy 2006-10-31
  • 打赏
  • 举报
回复
绑定模板列不适合你在不同环境下进行判断
TextBox tbFactNum = (TextBox) e.Item.Cells[15].FindControl("tbFactNum");
对应的为
Image 你起的名字= (Image) e.Item.Cells[所在的列].FindControl("DataGrid中的名字");
gloomyrancher 2006-10-31
  • 打赏
  • 举报
回复
我是要按数据库传出来的值来判断这么磨版列的图片是哪张~~我用的是
private void WebForm1_PreRender(object sender, System.EventArgs e)
{
BindData();
for(int i=0;i<DataGrid1.Items.Count;i++)
{
if(dataSet11.Tables[0].Rows[i][0].Equals(1))
{
System.Web.UI.WebControls.Image Image = (System.Web.UI.WebControls.Image)DataGrid1.Items[i].Cells[7].FindControl("Image1");
Image.ImageUrl = "C:\\Inetpub\\wwwroot\\Upload\\Status1.gif";
}
else
{
System.Web.UI.WebControls.Image Image = (System.Web.UI.WebControls.Image)DataGrid1.Items[i].Cells[7].FindControl("Image1");
Image.ImageUrl = "C:\\Inetpub\\wwwroot\\Upload\\Status0.gif";
}
}

}
不过还是收大家的启发~~谢谢你们~结帖了~
daishengs 2006-10-30
  • 打赏
  • 举报
回复
<asp:TemplateColumn HeaderText="图片">
<HeaderStyle Width="40px"></HeaderStyle>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# DataBinder.Eval(Container, "DataItem.imgurl") %>' />
</ItemTemplate>
</asp:TemplateColumn>
daishengs 2006-10-30
  • 打赏
  • 举报
回复
简单点就用模板列吧
gloomyrancher 2006-10-30
  • 打赏
  • 举报
回复
TextBox tbFactNum = (TextBox) e.Item.Cells[15].FindControl("tbFactNum");
那对应的Image是什么呢
gloomyrancher 2006-10-30
  • 打赏
  • 举报
回复
没人知道了吗~~~可以发表新解答
gloomyrancher 2006-10-30
  • 打赏
  • 举报
回复
路径写哪呀
nekiy 2006-10-30
  • 打赏
  • 举报
回复
这个是好让.net找到绑定的事件啊
否则怎么知道我就要执行DataGrid1_ItemDataBound这个函数呢
通过DataGrid1_ItemDataBound函数来逐条的处理你绑定的事件
有了这个你还愁什么呀,想怎么处理这个图片都成,你FindControl以后它有好多属性,你自己看看吧 我下班了
88
gloomyrancher 2006-10-30
  • 打赏
  • 举报
回复
这里不能发图片~这点不太方便
gloomyrancher 2006-10-30
  • 打赏
  • 举报
回复
路径写哪?
gloomyrancher 2006-10-30
  • 打赏
  • 举报
回复
我是Image应该怎么写~~而且我这个图片是已数据的形式就和邮件未读和已读2个图片显示给别人看~没个邮件都有这样1个状态~~~还有private void InitializeComponent()里面是做什么的为什么要写this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
nekiy 2006-10-30
  • 打赏
  • 举报
回复
对了设置路径时候你要用到FindControl
例如
TextBox tbFactNum = (TextBox) e.Item.Cells[15].FindControl("tbFactNum");
nekiy 2006-10-30
  • 打赏
  • 举报
回复
asp:Image控件 放入到DataGrid里面
在后台设置其路径
设置路径时候你要这样
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
设置你image的路径
}
}

在private void InitializeComponent()中加入
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-30 05:13
社区公告

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

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