|
|
| 用Repeater控件显示数据(2) |
| 作者:不详 来源:不详 发布时间:2006-8-14 8:44:01 发布人:chinazhan |
减小字体
增大字体
.row { FONT-WEIGHT: bold; COLOR: black; FONT-FAMILY: Verdana, 'Times New Roman'; BACKGROUND-COLOR: white } .footer { FONT-WEIGHT: bold; COLOR: red; FONT-FAMILY: Verdana, 'Times New Roman'; BACKGROUND-COLOR: gray } .header { FONT-WEIGHT: bold; COLOR: yellow; FONT-FAMILY: Verdana, 'Times New Roman'; BACKGROUND-COLOR: gray } .box { BORDER-RIGHT: blue groove; BORDER-TOP: blue groove; DISPLAY: block; VERTICAL-ALIGN: baseline; OVERFLOW: auto; BORDER-LEFT: blue groove; CURSOR: wait; BORDER-BOTTOM: blue groove; FONT-FAMILY: verdana; TEXT-ALIGN: center } body { background: #333; } </style> <script language="C#" runat="server"> private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { DataSet dset = new DataSet(); string conn = "server=(local);Initial Catalog=Northwind;UID=ctester;PWD=password"; string qry = "SELECT firstname, lastname, address, city, region, postalcode, homephone FROM employees"; SqlDataAdapter sda = new SqlDataAdapter(qry, conn); sda.Fill(dset); Repeater1.DataSource = dset.Tables[0].DefaultView; Repeater1.DataBind(); } } </script></head> <body MS_POSITIONING="GridLayout" bgColor="#00cc99"> <form id="Form1" method="post" runat="server"> <div class="box"> <asp:Repeater id="Repeater1" runat="server"> <HeaderTemplate> <div class="header" id="header">Northwind Employees</div> </HeaderTemplate> <SeparatorTemplate><hr /></SeparatorTemplate> <ItemTemplate><div class="row"> <%# ((DataRowView)Container.DataItem)["FirstName"] %> <%# ((DataRowView)Container.DataItem)["LastName"] %><br> <%# ((DataRowView)Container.DataItem)["Address"] %><br> <%# ((DataRowView)Container.DataItem)["City"] %>, <%# ((DataRowView)Container.DataItem)["Region"] %> <%# ((DataRowView)Container.DataItem)["PostalCode"] %><br> <%# ((DataRowView)Container.DataItem)["HomePhone"] %> </div></ItemTemplate> <AlternatingItemTemplate><div class="alternate"> <%# ((DataRowView)Container.DataItem)["FirstName"] %> <%# ((DataRowView)Container.DataItem)["LastName"] %><br> <%# ((DataRowView)Container.DataItem)["Address"] %><br> <%# ((DataRowView)Container.DataItem)["City"] %>, <%# ((DataRowView)Container.DataItem)["Region"] %> <%# ((DataRowView)Container.DataItem)["PostalCode"] %><br> <%# ((DataRowView)Container.DataItem)["HomePhone"] %> </div></AlternatingItemTemplate> <FooterTemplate><div class="footer"> <%# ((DataView)Repeater1.DataSource).Count + " employees found." %> </div></FooterTemplate> </asp:Repeater></div></form></body></html> 可以注意到,每个 Repeater 行中样式表控制着文字的外观。除此之外,在网页内容中还添加了一个文本框。嵌入式 C# 代码从 Repeater 的数据源中获取相应的列。每个数据项都被转换成一个DataRowView对象以便显示。 这一页面并不是使用ASP.NET的“后台代码”性质。由于这一原因,页面引用了两个System.Data和System.Data.SqlClient空间名称。这对于使用DataRowView对象和与 SQL Server 交互访问是必需的。 当调用页面时就会触发Page_Load事件。此时会把数据源连接到 Repeater 控件上,并查询数据库。每一Repeater行的代码从潜在数据源中载入数据,并且Web页面显示这些数据。 这一设计使用了样式表(以及 HTML div 标记),所以更改外观只需要更改必要的样式表代码。为了进一步地将数据和显示分离,你可以在一个独立文件中存储样式表,并以一个HTML LINK标记来引用它们。 一个很好的选择 当与其他 ASP.NET 开发者交流时,开发人员对 Repeater 控件知之甚少,这真让我感到惊讶。虽然它不如DataGrid功能强大,但它在许多场合中仍然提供了出色的灵活性。Repeater 控件缺少编辑和排序功能,但可以通过进一步编程而实现。 做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。
|
| |
|
[]
[返回上一页]
[打 印]
[收 藏] |
|
| ∷相关文章评论∷ (评论内容只代表网友观点,与本站立场无关!) [更多评论...] |
|
|