ASP.NET自定义控件 第八天 显示多个条目星级评分的列表控件
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-20
.ColumnSpan = 2; if (TitleTemplate != null) { _titleTemplateContainer = new TitleTemplateContainer(this); TitleTemplate.InstantiateIn(_titleTemplateContainer); cell.Controls.Add(_titleTemplateContainer); } else { cell.Text = Title; } item.DataBind(); } private void CreateSubTitle(Table t) { BarChartItem item = new BarChartItem(BarChartItemType.SubTitle); t.Rows.Add(item); TableCell cell = new TableCell(); item.Cells.Add(cell); cell.ColumnSpan = 2; cell.Text = SubTitle; } private int CreateAllItems(Table t, IEnumerable data, bool useDataSource) { int itemCount = 0; Items.Clear(); foreach (object o in data) { BarChartItemType itemType = BarChartItemType.Item; BarChartItem item = CreateBarChartItem(t, itemType, o, useDataSource); _items.Add(item); itemCount++; } return itemCount; } private BarChartItem CreateBarChartItem(Table t, BarChartItemType itemType, object dataItem, bool useDataSource) { BarChartItem item = new BarChartItem(itemType); TableCell labelCell = CreateLabelCell(item); TableCell valueCell = CreateScoreCell(item); BarChartItemEventArgs argsCreated = new BarChartItemEventArgs (item); OnBarChartCreated(argsCreated); t.Rows.Add(item); if (useDataSource) { item.DataItem = dataItem; BindLabelCell(labelCell, dataItem); BindValueCell(valueCell, dataItem); BarChartItemEventArgs argsData = new BarChartItemEventArgs (item); OnBarChartDataBound(argsData); } return item; } private TableCell CreateLabelCell(BarChartItem item) { TableCell cell = new TableCell(); item.Cells.Add(cell); return cell; } private TableCell CreateScoreCell(BarChartItem item) { TableCell cell = new TableCell(); item.Cells.Add(cell); string starPath = Page.ClientScript.GetWebResourceUrl(this.GetType (), "ControlLibrary.Image.stars.gif"); Panel panBg = new Panel(); panBg.Style.Add(HtmlTextWriterStyle.Width, "80px"); panBg.Style.Add(HtmlTextWriterStyle.Height, "16px"); panBg.Style.Add(HtmlTextWriterStyle.TextAlign, "left"); panBg.Style.Add(HtmlTextWriterStyle.Overflow, "hidden"); panBg.Style.Add(HtmlTextWriterStyle.BackgroundImage, starPath); panBg.Style.Add("background-position", "0px -32px"); panBg.Style.Add("background-repeat", "repeat-x"); cell.Controls.Add(panBg); Panel panCur = new Panel(); panCur.Style.Add(HtmlTextWriterStyle.Height, "16px"); panCur.Style.Add(HtmlTextWriterStyle.BackgroundImage, starPath); panCur.Style.Add("background-position", "0px 0px"); panCur.Style.Add("background-repeat", "repeat-x"); panBg.Controls.Add(panCur); return cell; } private void BindLabelCell(TableCell cell, o |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于ASP.NET自定义控件 第八天 显示多个条目星级评分的列表控件的所有评论