没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2007-03-27 14:30:39.000|阅读 1271 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
项目 | 创建的默认项目类型 |
AlternatingItem | 为项目集合中具有奇数下标的项目创建 |
SelectedItem | 为选定的项目创建(不论该项目是否为备选项目) |
EditItem | 为处于编辑模式下的项目创建(不管它是否被选中或是否为备选项目) |
控件同时创建将在表示中用到的下列项目。但是,它们并不与数据源的数据相关联。
标头 用来表示标头信息
注脚 用来表示注脚信息
分隔符 用来表示图 1 中所示的每个项目之间的内容,并且仅适用于 Repeater 和 DataList
分页符 用来表示与 DataGrid 控件相关联的分页 UI
项目的数据绑定和创建
列表绑定控件遵循在整个 ASP+ 框架中实现的显式数据绑定模型。这意味着控件仅当其 DataBind 方法被调用时才需要并列举其数据源。
当调用 DataBind
方法时,列表控件将列举其数据源、创建项目并通过从其数据源中提取值来对其进行初始化。如果启用了状态管理,则控件还将保存所需的全部信息,以便在页面的回传处理期间重新创建其项目而无须重新设置数据源。
显式数据绑定模型使您的应用程序代码可以精确地确定在处理序列中何时及何处需要数据源。这种功能使对数据库服务器的访问更少且更高效,而这些访问通常是 Web 应用程序最耗费资源的操作。
一般规则是每当您需要重新创建项目时都必须调用DataBind。在大多数情况下,您将在您的页面首次被请求创建初始项目集合时调用DataBind。在该页面的后续执行过程中,您将需要在引起项目集合被更改的各种事件处理程序中调用此方法。当用于创建初始数据源的查询被修改时,就可能发生这种情况。当项目的状态改变(如从只读模式变为编辑模式)时也可能发生这种情况。
样式
通过在对象模型上使用样式属性,您可以定义全部DataList和DataGrid控件及其所包含项目的格式和外观。这些属性允许定制字体、颜色、边框和其它外观因素。控件本身的样式属性(如前景色、背景色、字体和边框样式)将影响整个控件的表示。
此外,每个控件都包含与其所创建的项目类型相匹配的大量样式属性,如as ItemStyle、AlternatingItemStyle和headerStyle。DataGrid提供第三级的样式属性,这些属性将影响特定列的所有单元格。控件中包含的每一列都可以拥有其自己的 headerStyle、FooterStyle 和 ItemStyle。
模板
样式控制格式显示,而模板则定义每个项目的内容和表示。您可以将模板看作HTML代码片断,它定义了用来表示项目的控件层次结构。
Repeater 和 DataList 控件由您指定的模板来驱动,提供各种可设置的模板属性,如ItemTemplate、AlternatingItemTemplate和headerTemplate。与样式类似,每个模板都对应于一个特定类型的项目。
DataGrid 控件未模板化。但是,控件的 Column 集合中的 Template Columns使DataGrid中模板的使用成为可能。TemplateColumn中的每个单元格都可以包含一个模板,这与 Repeater 或 DataList 控件中的项目极为类似。这也使 DataGrid 中的定制表示成为可能。
模板中的数据绑定
模板定义项目中包含的控件层次结构。通过使用数据绑定表达式,此层次结构中的控件属性可绑定到与此项目相关联的数据属性上。
作为模板的逻辑父级的项目在数据绑定表达式中被称为“容器”。每个容器都有一个称为DataItem的属性,该属性引用其相关联的数据。结果是,模板中的大多数典型数据绑定表达式都将控件属性绑定到 Container. DataItem的某个属性上。将在以下几节介绍的示例中进一步说明这种绑定。
Repeater 控件
如前面所述,Repeater控件是完全由模板驱动的,允许创建完全可定制的表示和布局。下图说明了这一功能。
摘自 Repeater1.aspx:
〈%@ Page language="C#" src="Repeater1.cs" inherits="Samples.
Repeater1Page"%〉
...
〈asp:Repeater runat=server id="linksListRepeater"
DataSource='〈%# SiteLinks %〉'〉
〈template name="headerTemplate"〉
〈ul type="1"〉
〈/template〉
〈template name="ItemTemplate"〉
〈li〉
〈asp:HyperLink runat=server
Text='〈%# DataBinder.Eval(Container.DataItem, "SiteName")
%〉'
NavigateUrl='〈%# DataBinder.Eval(Container.DataItem,
"SiteURL") %〉'〉
〈/asp:HyperLink〉
〈/li〉
〈/template〉
〈template name="FooterTemplate"〉
〈/ul〉
〈/template〉
〈/asp:Repeater〉
此.aspx文件显示了一个用于生成带项目符号列表的 repeater控件的声明。
此示例说明了用数据绑定语法(〈%#...%〉)设置数据源的声明方法。当您调用 DataBind 方法时,数据绑定中的表达式就会被执行。在这种情况下,repeater 的 DataSource 属性被绑定到页面的 SiteLinks 属性上,后者包含要显示的 URL 引用。
Repeater是唯一允许在其模板中存在 HTML片段的控件,将 Repeater控件和HTML片段合在一起会产生良好形式的HTML。在本示例中,带项目符号的列表分为三个部分:
由 headerTemplate 表示的列表开始标记 (〈ul type="1"〉)。
由 FooterTemplate 表示的列表结束标记 (〈/ul〉)。
列表的主体由通过为 SiteLinks 集合中出现的每个对象重复 Item Template 而生成的列表项 (〈li〉) 置入。
您也可以使用这些模板在标头中指定表的开始标记(〈TABLE〉),在注脚中指定表的结束标记(〈/TABLE〉),在每个项目中指定单个表行(〈TR〉)。此替换选项将导致列表表示。
您必须指定 ItemTemplate。它是唯一必需的模板。当未指定其它模板时,控件会自动将此 ItemTemplate 用于其它模板。
在以下示例中,ItemTemplate 包含一个 HyperLink Web 控件。此控件的Text和NavigateUrl属性被绑定到与每个重复项目相关联的数据属性上。这又是使用数据绑定表达式(在创建项目后立即对该表达式求值)完成的。
Repeater1.cs:
namespace Samples {
...
public class Repeater1Page : Page {
protected Repeater linksListRepeater;
public ICollection SiteLinks {
get {
ArrayList sites = new ArrayList();
sites.Add(new SiteInfo("Microsoft Home",
"http://www.microsoft.com"));
sites.Add(new SiteInfo("MSDN Home",
"http://msdn.microsoft.com"));
sites.Add(new SiteInfo("MSN Homepage",
"http://www.msn.com"));
sites.Add(new SiteInfo("Hotmail",
"http://www.hotmail.com"));
return sites;
}
}
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
if (!IsPostBack) {
// 首次请求该页时即对其进行数据绑定 (DataBind)。
// 这将在此页的控件层次结构中递归调用每个控件。
DataBind();
}
}
}
public sealed class SiteInfo {
private string siteName;
private string siteURL;
public SiteInfo(string siteName, string siteURL) {
this.siteName = siteName;
this.siteURL = siteURL;
}
public string SiteName {
get { return siteName; }
}
public string SiteURL {
get { return siteURL; }
}
}
}
此 .cs 文件包含随前一个列表中的 aspx 页一起出现的代码。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号