`
luliangok
  • 浏览: 816856 次
文章分类
社区版块
存档分类
最新评论

DataBind包括三大方法,Repeater,DataList和DataGrid,这些控件都位于 System.Web.UI.WebControls 命名空间中,从 WebControl 基类中直接或间接派生出来的。这些方法都是通过HTML来显示数据的内

 
阅读更多

DataBind包括三大方法,Repeater,DataList和DataGrid,这些控件都位于 System.Web.UI.WebControls 命名空间中,从 WebControl 基类中直接或间接派生出来的。这些方法都是通过HTML来显示数据的内容。

一、DataList
Repeater 控件是通用的迭代程序,而 DataList 控件则提供专门用于控制列表布局的附加功能。与 Repeater 不同,DataList 呈现其模
板定义元素周围的表行和单元格,从而提供了更为丰富的布局和格式设置功能。例如,DataList 支持 RepeatColumns 和 RepeatDirection 属性,这两项属性分别指定列数和数据项呈现方向(垂直或水平)。DataList 还支持样式特性,如字体大小和字体名称。以下示例分别用了vb.net和c#两种语言来显示如何访问一个包含书名及其他信息的 SQL 数据库,并使用 DataList 控件来显示相关数据。

[VB.net]
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim myConnection As SqlConnection
Dim myCommand As SqlDataAdapter
' Create a connection to the "pubs" SQL database located on the
' local computer.
myConnection = New SqlConnection("server=localhost;" _
& "database=pubs;Trusted_Connection=Yes")
' Connect to the SQL database using a SQL SELECT query to get all
' the data from the "Titles" table.
myCommand = New SqlDataAdapter("SELECT * FROM Titles", myConnection)
' Create and fill a DataSet.
Dim ds As DataSet = new DataSet()
myCommand.Fill(ds)
' Bind MyDataList to the DataSet. MyDataList is the ID for
' the DataList control in the HTML section of the page.
MyDataList.DataSource = ds
MyDataList.DataBind()
End Sub
</script>

<%-- Display the data. -%>
<body>
<%-- Open the DataList control and set it for two columns, to be
filled in horizontal order. --%>
<ASP:DataList id="MyDataList" RepeatColumns="2"
RepeatDirection="Horizontal" runat="server">
<ItemTemplate>
<div style="padding:15,15,15,15;font-size:10pt;font-family:Verdana">
<div style="font:12pt verdana;color:darkred">
<i><b><%# DataBinder.Eval(Container.DataItem, "title")%>
</i></b>
</div>
<br>
<b>Title ID: </b>
<%# DataBinder.Eval(Container.DataItem, "title_id") %><br>
<b>Category: </b>
<%# DataBinder.Eval(Container.DataItem, "type")%><br>
<b>Publisher ID: </b>
<%# DataBinder.Eval(Container.DataItem, "pub_id") %><br>
<b>Price: </b>
<%# DataBinder.Eval(Container.DataItem, "price", "{0:c}") %>
<p>
</div>
</ItemTemplate>
</ASP:DataList>
</body>
</html>


[C#]
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Create a connection to the "pubs" SQL database located on the
// local computer.
SqlConnection myConnection = new SqlConnection("server=localhost;" +
"database=pubs;Trusted_Connection=Yes");
// Connect to the SQL database using a SQL SELECT query to get all
// the data from the "Titles" table.
SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * " +
" from Titles", myConnection);
// Create and fill a DataSet.
DataSet ds = new DataSet();
myCommand.Fill(ds);
// Bind MyDataList to the DataSet. MyDataList is the ID for
// the DataList control in the HTML section of the page.
MyDataList.DataSource = ds;
MyDataList.DataBind();
}
</script>

<%-- Display the data. -%>
<body>
<%-- Open the DataList control and set it for two columns, to be
filled in horizontal order. --%>
<ASP:DataList id="MyDataList" RepeatColumns="2"
RepeatDirection= "Horizontal" runat="server">
<%-- Create a DataList control template named "ItemTemplate". --%>
<ItemTemplate>
<div style="padding:15,15,15,15;font-size:10pt;
font-family:Verdana">
<div style="font:12pt verdana;color:darkred">
<i><b><%# DataBinder.Eval(Container.DataItem, "title")%>
</i></b>
</div>
<br>
<b>Title ID: </b>
<%# DataBinder.Eval(Container.DataItem, "title_id") %><br>
<b>Category: </b>
<%# DataBinder.Eval(Container.DataItem, "type")%><br>
<b>Publisher ID: </b>
<%# DataBinder.Eval(Container.DataItem, "pub_id") %><br>
<b>Price: </b>
<%# DataBinder.Eval(Container.DataItem,"price", "{0:c}") %>
<p>
</div>
</ItemTemplate>
</ASP:DataList>
</body>
</html>

二、Repeater

Repeater 控件是一种数据绑定列表控件,其外观完全由其模板来控制。与 DataList 不同,Repeater 控件不在 HTML 表中呈现其模板,并且不具有对选择或编辑的内置支持。以下代码示例显示一个绑定到 SqlDataReader 的 Repeater 控件,该控件返回从一个 SQL 查询中返回的一组只读、只进数据记录,该 SQL 查询包含有关一套书籍的信息。SqlDataReader 在该示例中用于实现最高性能。该示例还定义一个 HeaderTemplate 和一个 FooterTemplate,它们分别在列表的开头和结尾呈现。Repeater 控件为 DataSource 集合中的每一项呈现一次 ItemTemplate,从而迭代绑定数据。它只呈现其模板中包含的元素。

[VB.net]
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
' Create a connection to the "pubs" SQL database located
' on the local computer.
Dim myConnection As SqlConnection
Dim myCommand As SqlDataAdapter
' Connect to the SQL database using a SQL SELECT query to get
' all the data from the "Titles" table.
myConnection = New SqlConnection("server=localhost;" _
& "database=pubs;Trusted_Connection=Yes")
myCommand = New SqlDataAdapter("SELECT * FROM Titles", _
myConnection)
' Create and fill a DataSet.
Dim ds As Dataset = new DataSet()
myCommand.Fill(ds)
' Bind MyRepeater to the DataSet. MyRepeater is the ID of the
' Repeater control in the HTML section of the page.
MyRepeater.DataSource = ds
MyRepeater.DataBind()
End SUb
</script>

<body>
<ASP:Repeater id="MyRepeater" runat="server">
<HeaderTemplate>
<Table width="100%" style="font: 8pt verdana">
<tr style="background-color:DFA894">
<th>
Title
</th>
<th>
Title ID
</th>
<th>
Type
</th>
<th>
Publisher ID
</th>
<th>
Price
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:FFECD8">
<td>
<%# DataBinder.Eval(Container.DataItem, "title") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "title_id") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "type") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "pub_id") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "price", _
"{0:c}") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</ASP:Repeater>
</body>
</html>

[C#]
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Create a connection to the "pubs" database located
// on the local computer.
SqlConnection myConnection = new SqlConnection("server=localhost;" +
"database=pubs;Trusted_Connection=Yes");
// Connect to the SQL database using a SQL SELECT query to get
// all the data from the "Titles" table.
SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * FROM" +
" Titles", myConnection);
// Create and fill a DataSet.
DataSet ds = new DataSet();
myCommand.Fill(ds);
// Bind MyRepeater to the DataSet. MyRepeater is the ID of the
// Repeater control in the HTML section of the page.
MyRepeater.DataSource = ds;
MyRepeater.DataBind();
}
</script>

<%-- Display the data in the body of the page. --%>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<ASP:Repeater id="MyRepeater" runat="server">
<HeaderTemplate>
<Table width="100%" style="font: 8pt verdana">
<tr style="background-color:DFA894">
<th>
Title
</th>
<th>
Title ID
</th>
<th>
Type
</th>
<th>
Publisher ID
</th>
<th>
Price
</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr style="background-color:FFECD8">
<td>
<%# DataBinder.Eval(Container.DataItem, "title") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,"title_id") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "type") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem, "pub_id") %>
</td>
<td>
<%# DataBinder.Eval(Container.DataItem,
"price", "{0:c}") %>
</td>
</tr>
</ItemTemplate>

<FooterTemplate>
</Table>
</FooterTemplate>
</ASP:Repeater>
</body>
</html>

三、DataGrid

多功能的 DataGrid 服务器控件显示表格数据并支持对数据进行选择、排序和编辑。默认情况下,DataGrid 将为数据源中的每个字段生成一个绑定列 (AutoGenerateColumns=true)。每个数据字段都按照它们在数据库的存储顺序显示在单独的列中。以下示例显示作者姓名、地址、电话号码以及其他数据的列表。

[Visual Basic]
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="VB" runat="server">
Sub Page_Load(Src As Object, e As EventArgs)
Dim myConnection As SqlConnection
Dim myCommand As SqlDataAdapter
' Create a connection to the "pubs" SQL database located on the
' local computer.
myConnection = New SqlConnection("server=localhost;" _
& "database=pubs;Trusted_Connection=Yes")
' Connect to the SQL database using a SQL SELECT query to get all
' the data from the "Authors" table.
myCommand = new SqlDataAdapter("SELECT * FROM Authors", _
myConnection)
' Create and fill a DataSet.
Dim ds As DataSet = new DataSet()
myCommand.Fill(ds)
' Bind MyDataGrid to the DataSet. MyDataGrid is the
' ID for the DataGrid control in the HTML section.
MyDataGrid.DataSource = ds
MyDataGrid.DataBind()
End Sub
</script>

<body>
<h3><font face="Verdana">
Simple Select to a DataGrid Control.
</font></h3>
<ASP:DataGrid id="MyDataGrid" runat="server"
Width="700"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
EnableViewState="false"
/>
</body>
</html>

[C#]
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">
protected void Page_Load(Object Src, EventArgs E)
{
// Create a connection to the "pubs" SQL database located on the
// local computer.
SqlConnection myConnection = new SqlConnection("server=localhost;" +
"database=pubs;Trusted_Connection=Yes");
// Connect to the SQL database using a SQL SELECT query to get all
// the data from the "Authors" table.
SqlDataAdapter myCommand = new SqlDataAdapter("SELECT " +
" * FROM Authors", myConnection);
// Create and fill a DataSet.
DataSet ds = new DataSet();
myCommand.Fill(ds);
// Bind MyDataGrid to the DataSet. MyDataGrid is the ID for the
// DataGrid control in the HTML section.
DataView source = new DataView(ds.Tables[0]);
MyDataGrid.DataSource = source ;
MyDataGrid.DataBind();
}
</script>

<body>
<%-- Display the DataGrid information in the body of the page. --%>
<h3><font face="Verdana">Simple SELECT to a DataGrid Control
</font></h3>
<%-- Display the data in a DataGrid. --%>
<ASP:DataGrid id="MyDataGrid" runat="server"
Width="700"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
EnableViewState="false"
/>
</body>
</html>

分享到:
评论

相关推荐

    asp.net数据绑定DataBind使用方法

    简单介绍 DataBindDataBind包括三大方法,Repeater,DataList和DataGrid,这些控件都位于 System.Web.UI.WebControls 命名空间中,从 WebControl 基类中直接或间接派生出来的。这些方法都是通过HTML来显示数据的内容...

    自定义用户控件、DataList、分页

    首先,自定义用户控件是通过继承自System.Web.UI.WebControls.WebControl或System.Web.UI.UserControl类创建的。开发者可以在这个控件中添加自己的属性、方法和事件,以满足特定需求。在本案例中,自定义用户控件...

    页面导出EXCEL

    1. **创建 DataGrid:** 使用 `System.Web.UI.WebControls.DataGrid` 类创建了一个新的 DataGrid 控件。 2. **获取 HttpContext:** 通过 `System.Web.HttpContext.Current` 获取当前 HTTP 上下文。 3. **设置 ...

    DataGrid中嵌套使用Repeater.doc

    这种技术同样适用于其他列表绑定控件的组合,例如DataGrid包含DataGrid,或者DataList包含DataList等。 首先,我们要了解DataGrid的基本用法。DataGrid是一个Web服务器控件,可以自动创建表格来显示来自数据源的...

    Ajax读取用户控件中repeater、datalist、listview中的内容并写到页面

    通过这种方式,你可以在不刷新整个页面的情况下,利用Ajax技术从用户控件中获取并动态显示repeater、datalist和listview的数据,提升用户体验。记得在实际项目中考虑性能优化,比如使用Partial View或者UpdatePanel...

    ASP.NET中DataGrid和DataList控件用法比较

    ### ASP.NET中DataGrid和DataList控件用法比较 #### 一、概述 在ASP.NET Web应用程序开发中,DataGrid和DataList是用于展示表格数据的重要控件。这两种控件能够有效地帮助开发者以结构化的方式展示数据集,并提供...

    数据显示控件Repeater和datalist的用法

    在ASP.NET web开发中,数据绑定控件是用于展示数据集的关键组件,Repeater和DataList就是其中两种常用的控件。它们都允许开发者灵活地自定义数据的展示样式,但各自有着不同的特性和应用场景。 ## Repeater控件 ...

    自定义控件开发之Datalist

    1. 定义控件类:继承自System.Web.UI.WebControls.WebControl或System.Web.UI.WebControls.BaseDataBoundControl等基类,根据需求选择合适的基类。 2. 实现属性、方法和事件:自定义控件需要有自己的属性来存储状态...

    在ASP.NET中使用DataList控件.rar

    这个压缩包“在ASP.NET中使用DataList控件.rar”很可能是包含了一系列教程、示例代码或详细文档,帮助用户了解和掌握如何在实际项目中有效利用DataList。 DataList控件概述: 1. DataList控件是ASP.NET中的服务器...

    asp.net基础教程

    它涉及到三个主要的服务器控件:Repeater、DataList和DataGrid,这些控件均属于System.Web.UI.WebControls命名空间,并从WebControl基类派生。这些控件的作用是通过HTML呈现数据内容。 4.2 创建DataBind DataBind...

    asp.net控件开发实例

    开发者可以继承`System.Web.UI.WebControls.WebControl`类或`System.Web.UI.WebControls.BaseDataBoundControl`类来创建自定义服务器控件。 2. **客户端控件**:客户端控件主要在浏览器端运行,使用JavaScript或...

    AJAX,初学者最实用

    using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //this....

    ascx使用办法:属性、方法和事件

    - `using` 语句:导入所需的命名空间,例如 `System.Web.UI.WebControls` 用于访问Web控件。 - `public class dg : System.Web.UI.UserControl`:定义了一个名为 `dg` 的类,继承自 `System.Web.UI.UserControl` ...

    DataGrid Web控件深度历险

    ### DataGrid Web控件深度历险:设定格式与优化显示 在探讨DataGrid Web控件的深度历险之旅中,我们已经初步了解了其基本功能——即如何在HTML表格中展示数据。DataGrid是一个强大的ASP.NET Web控件,用于在网页上...

    Asp.net 2.0 自定义控件开发[开发一个图表(WebChart)控件(柱状图示例)](示例代码下载)收藏

    自定义控件通常继承自`System.Web.UI.Control`类或者其子类,如`System.Web.UI.WebControls.WebControl`。 开发WebChart控件时,我们需要考虑以下几个关键点: 1. **控件设计**:设计WebChart控件的外观和行为,...

    asp.net中Repeater控件嵌套Repeater调数据方法

    ### ASP.NET中Repeater控件嵌套Repeater的实现方法 在ASP.NET Web应用程序开发过程中,经常需要展示分层或嵌套的数据结构。一个常见的需求是,在一个列表中的每个项目都需要展示一组相关的子项,例如产品分类下的多...

    asp.netweb控件--datalist

    ASP.NET中的DataList控件是Web开发中一种非常实用的数据绑定控件,它允许开发者以灵活的方式展示数据,比如网格布局、列表布局等。DataList虽然不如GridView常见,但其可自定义性更高,适用于创建复杂的布局和设计。...

    深入DataList分页方法(利用PagedDataSource类)

    PagedDataSource类位于System.Web.UI.WebControls命名空间下,主要用于实现数据源的分页功能。它提供了一组丰富的属性和方法,使得开发者可以轻松地对数据进行分页处理。 - **AllowCustomPaging**:此属性用于指示...

    repeater和Datalist的使用

    在ASP.NET Web Forms中,`Repeater`和`DataList`是两种常用的数据绑定控件,用于显示数据源中的信息。这两个控件都是基于模板的,允许开发人员自定义数据的呈现方式,提供了灵活的数据展示功能。下面我们将深入探讨...

    C#自定义分页控件

    二、AspNetPager支持各种数据绑定控件GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件的分页功能十分强大。 三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的...

Global site tag (gtag.js) - Google Analytics