如何触发DataList或Repeater内嵌的DataList或Repeater控件的数据绑定事件?

fisher99 2008-07-16 02:05:02
如题
...全文
89 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonec 2008-07-16
  • 打赏
  • 举报
回复


private void DataList1_ItemCreated(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
{
//内层datalist绑定
DataList dlist2 = (DataGrid)e.Item.FindControl( "DataGrid2" );
dlist2.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler( this.dlist2_ItemDataBound );
}
}
march22 2008-07-16
  • 打赏
  • 举报
回复
要手写,在里面的datalist加上dl_ItemDataBound,在cs那里手工加上dl_ItemDataBound。

都是手工加上。
fisher99 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 march22 的回复:]
datalist1_itemdatabound(object sender,....) -- >自已改一下
{
DataList dl;
if (e.Item.ItemType == ListItemType.Item ¦ ¦
e.Item.ItemType == ListItemType.AlternatingItem)
{
dl = (DataList)e.Item.FindControl("subdl");
dl.DataSource = 表;
dl.DataBind();
}
}

如果要在里面的DataList或Repeater的ItemDataBound里取外面DataList的值,可用

((DataList)…
[/Quote]

谢谢大家热心帮助,问题是里面的控件的ItemDataBound事件好像就不触发啊?
march22 2008-07-16
  • 打赏
  • 举报
回复
datalist1_itemdatabound(object sender,....) -- >自已改一下
{
DataList dl;
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
dl = (DataList)e.Item.FindControl("subdl");
dl.DataSource = 表;
dl.DataBind();
}
}

如果要在里面的DataList或Repeater的ItemDataBound里取外面DataList的值,可用

((DataList)(((DataList)sender).NamingContainer)).Item.FindControl("");
hsabout 2008-07-16
  • 打赏
  • 举报
回复
先把最外面的空間綁定
再用for循環每一行的找到指定控件的id再綁定
技術不好,我經常這樣做的~~
leehniu 2008-07-16
  • 打赏
  • 举报
回复

private void rptAbout_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
{
try
{
Conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
string Sql = string .Empty;
if(e.CommandName=="edit")
{
Sql = "select * from VIEW_Abouts where WebID="+((Label)e.Item.FindControl("lblWebId")).Text;
dr = SqlHelper.ExecuteReader(Conn,CommandType.Text,Sql);
if(dr.Read())
{
txtBrand.Text = dr[1].ToString();
}
dr.Close();
Conn.Close();
}
if(e.CommandName=="delete")
{
Sql = "delete abouts where WebID="+((Label)e.Item.FindControl("lblWebId")).Text;
SqlHelper.ExecuteNonQuery(Conn,CommandType.Text,Sql);
mess.ReloadFrame("网站信息已被删除...",Request.Url.ToString(),Page);
}
}
finally
{
if(dr!=null)
((IDisposable)dr).Dispose();
if(Conn!=null)
((IDisposable)Conn).Dispose();
}
}
fisher99 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bradring 的回复:]
多重邦定,msdn上有!!
[/Quote]

msdn上找不到啊!麻烦您讲一下怎么用吧,谢谢
bradring 2008-07-16
  • 打赏
  • 举报
回复
多重邦定,msdn上有!!

62,093

社区成员

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

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

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

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