using System; using System.Collections.Generic; using System.Collections; using System.ComponentModel; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace ServerControls { [ToolboxData("<{0}:DropDownTreeList runat=server></{0}:DropDownTreeList>")] publicclass DropDownTreeList : DropDownList { privateobject dataSource; privateint deep =0; ----重写---- ----私有方法---- ----公开的属性---- } }
publicpartialclass _Default : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { this.DropDownTreeList1.DataSource = InitArea(); this.DropDownTreeList1.DataBind(); } private Area InitArea() { Area area1 =new Area { Code =1, Name ="中国" }; Area area2 =new Area { Code =2, Name ="四川" }; Area area3 =new Area { Code =3, Name ="北京" }; Area area4 =new Area { Code =4, Name ="广东" }; Area area5 =new Area { Code =5, Name ="成都" }; Area area6 =new Area { Code =6, Name ="乐山" }; Area area7 =new Area { Code =7, Name ="绵阳" }; Area area8 =new Area { Code =8, Name ="广州" }; Area area9 =new Area { Code =9, Name ="深圳" }; Area area10 =new Area { Code =10, Name ="东莞" }; Area area11 =new Area { Code =11, Name ="珠江" }; area1.ChildArea =new List<Area>{ area2, area3, area4 }; area2.ChildArea =new List<Area>{ area5, area6, area7 }; area4.ChildArea =new List<Area>{ area9, area10, area11 }; return area1; } } publicclass Area { publicstring Name { get; set; } publicint Code { get; set; } public List<Area> ChildArea { get; set; } }
项目中某些页面中的分组数据的顶部需要悬停,并且悬停的View要与ItemView中同样布局的View进行操作同步,也就是相互同步。大家都知道,Android中有"The specified child already has a parent. You must call removeView() on the child's parent first."这个异常,意味着同一个View对象不能有两个Parent。我们就不能简单粗暴的将同一个View对象添加进两个parent了,需要另谋出路。