ASP.NET自定义控件 第八天 显示多个条目星级评分的列表控件
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-20
get;
set;
}
}
3.2 在BarChartItem类中使用了BarChartItemType枚举以标识当前项的类型( 类似于GridView中的标题、交替行等),编写该枚举实现: public enum BarChartItemType { Title, //标题 SubTitle, //二级标题 Item, //数据项 Footer //页脚 } 3.3 定义该控件项的集合类BarChartItemCollection: public class BarChartItemCollection : Collection<BarChartItem> { } 3.4 为了能够在创建项和绑定数据后暴露出相应的事件中使用户能够访问数据 项信息,编写自定义事件参数类: public class BarChartItemEventArgs : EventArgs { private BarChartItem _item; public BarChartItemEventArgs(BarChartItem item) { _item = item; } public BarChartItem Item { get { return _item; } } } 3.5 定义模版容器类 public class TitleTemplateContainer : WebControl, INamingContainer { private BarChart _parent; public TitleTemplateContainer(BarChart parent) { _parent = parent; } public string Title { get { return _parent.Title; } } public string SubTitle { get { return _parent.SubTitle; } } public BarChart BarChart { get { return _parent; } } } 3.6 在ControlLibrary类库中创建BarChar类并定义私有变量,该类继承自 CompositeDataBoundControl类: public class BarChart : CompositeDataBoundControl { public event EventHandler<BarChartItemEventArgs> BarChartItemCreated; public event EventHandler<BarChartItemEventArgs> BarChartItemDataBound; private BarChartItemCollection _items; private ITemplate _titleTemplate; private TitleTemplateContainer _titleTemplateContainer; private TableItemStyle _titleStyle; private TableItemStyle _subtitleStyle; private TableItemStyle _labelStyle; } 3.7 定义相关属性: public string DataTextField { get { object o = ViewState["DataTextField"]; return o == null ? string.Empty : (string)o; } set { ViewState["DataTextField"] = value; } } public string DataValueField { get { object o = ViewState["DataValueField"]; return o == null ? string.Empty : (string)o; } set { ViewState["DataValueField"] = value; } } public BarChartItemCollection Items { get { if (_items == null) { _items = new BarChartItemCollection(); } return _items; } } [Browsable(false)] [PersistenceMode(PersistenceMode.InnerProperty)] [TemplateContainer(typeof(TitleTemplateContainer))] public ITemplate TitleTemplate { get { return _titleTemplate; } set { _titleTemplate = value; } } public string Title { get { object o = ViewState["Title"]; return o == null ? string.Empty : (string)o; } set { ViewState[&qu |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于ASP.NET自定义控件 第八天 显示多个条目星级评分的列表控件的所有评论