repeater控件如何三层嵌套绑定???
2个回答
展开全部
多层绑定比较麻烦,但是原理和单层是没有区别的。
首先你需要有一个多层集合的结构,这个相信你应该已经做好了。接下来就进行第一层绑定,和你平时做的一样,没有区别。然后在itemdatabind事件中,根据e.Item.DataItem强制转换成你绑定的那个数据对象(别忘了设定ie.Item.ItemType == ListItemType.Item),具体我忘记是e.什么了很久不做,你自己找一下。
如果你用datatable绑定,DataRowView dv=(DataRowView)e.Item.DataItem,如果是List<T>就转化为T的对象。这样你将直接获得下一曾的对象结构,比如T.Items是下一层对象,你应该已经在第一层repeater中放置了第二层的repeater,根据ID找到这个repeater,将T.Items绑定上去。你只要认为你只是单纯的在绑定一个repeater就行了,关键在于找到第二层的集合结构和repeater控件。
第三层的方式和绑定第二层没有区别。就是很麻烦,需要很细心的去写才行。
首先你需要有一个多层集合的结构,这个相信你应该已经做好了。接下来就进行第一层绑定,和你平时做的一样,没有区别。然后在itemdatabind事件中,根据e.Item.DataItem强制转换成你绑定的那个数据对象(别忘了设定ie.Item.ItemType == ListItemType.Item),具体我忘记是e.什么了很久不做,你自己找一下。
如果你用datatable绑定,DataRowView dv=(DataRowView)e.Item.DataItem,如果是List<T>就转化为T的对象。这样你将直接获得下一曾的对象结构,比如T.Items是下一层对象,你应该已经在第一层repeater中放置了第二层的repeater,根据ID找到这个repeater,将T.Items绑定上去。你只要认为你只是单纯的在绑定一个repeater就行了,关键在于找到第二层的集合结构和repeater控件。
第三层的方式和绑定第二层没有区别。就是很麻烦,需要很细心的去写才行。
追问
但是第二层的Repeater没有itemdatabind事件啊,如何保证每绑定一个第二层的repeater记录就对第三层的绑定??
追答
第二层必须是有这个事件的,你可以在前台放置第二层repeater的时候,直接在设计里点那个控件,然后按F4出现属性,选择事件,和第一层一模一样的。只是第二层的所有repeater都会执行同样的事件,这很正常。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询