ASP.NET中gridview、datalist、repeater、FormView、DetailsView的区别详解 转

GridView 控件用于显示表中的数据。通过使用 GridView 控件,您可以显示、编辑、删除、排序和翻阅多种不同的数据源(包括数据库、XML 文件和公开数据的业务对象)中的表格数据。
显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。
可以使用 GridView 来完成以下操作:
通过数据源控件自动绑定和显示数据。
通过数据源控件对数据进行选择、排序、分页、编辑和删除。
另外,还可以通过以下方式自定义 GridView 控件的外观和行为:
指定自定义列和样式。
利用模板创建自定义用户界面 (UI) 元素。
通过处理事件将自己的代码添加到 GridView 控件的功能中。
1.1 使用 GridView 控件进行数据绑定
GridView 控件提供了两个用于绑定到数据的选项:
使用 DataSourceID 属性进行数据绑定,此选项让您能够将 GridView 控件绑定到数据源控件。建议使用此方法,因为它允许 GridView 控件利用数据源控件的功能并提供了内置的排序、分页和更新功能。
使用 DataSource 属性进行数据绑定,此选项使您能够绑定到包括 ADO.NET 数据集和数据读取器在内的各种对象。此方法需要为所有附加功能(如排序、分页和更新)编写代码。
当使用 DataSourceID 属性绑定到数据源时,GridView 控件支持双向数据绑定。除可以使该控件显示返回的数据之外,还可以使它自动支持对绑定数据的更新和删除操作。
1.2 在 GridView 控件中设置数据显示格式
     可以指定 GridView 控件的行的布局、颜色、字体和对齐方式。可以指定行中包含的文本和数据的显示。另外,可以指定将数据行显示为项目、交替项、选择的项还是编辑模式项。GridView 控件还允许指定列的格式。
1.3 使用 GridView 控件编辑和删除数据
默认情况下,GridView 控件在只读模式下显示数据。但是,该控件还支持一种编辑模式,在该模式下控件显示一个包含可编辑控件(如 TextBox 或 CheckBox 控件)的行。您还可以对 GridView 控件进行配置以显示一个 Delete 按钮,用户可单击该按钮来删除数据源中相应的记录。
GridView 控件可对其关联数据源自动执行编辑和删除操作,使您无需编写代码即可启用编辑行为。或者,也可以以编程方式控制编辑和删除数据的过程(如在 GridView 控件绑定到只读数据源控件的情况下)。
您可以使用模板对当某个行处于编辑模式时使用的输入控件进行自定义。
1.4 GridView 排序功能
GridView 控件支持在不需要任何编程的情况下通过单个列排序。通过使用排序事件以及提供排序表达式,您可以进一步自定义 GridView 控件的排序功能。
1.5 GridView 分页功能
GridView 控件提供一种简单的分页功能。可以通过使用 GridView 控件的 PagerTemplate 属性来自定义 GridView 控件的分页功能。
适用场景
GridView 控件一般适用于以表的形式显示规则的二维关系数据。例如用于显示站点下所有用户的列表。
2. DataList 控件
     DataList Web 服务器控件以可自定义的格式显示数据库行的信息。显示数据的格式在创建的模板中定义。可以为项、交替项、选定项和编辑项创建模板。标头、脚注和分隔符模板也用于自定义 DataList 的整体外观。通过在模板中包括 Web 服务器控件,可将列表项连接到代码,这些代码使用户得以在显示、选择和编辑模式之间进行切换。
    DataList 与GridView不同,必须通过自定义的template 来显示数据项。DataList 与 GridView相比不支持排序,分页功能。
适用场景
    DataList 一般适用于显示“单列多行”关系的数据,例如用于显示产品列表,每一个ListItem显示一件产品的信息,你可以为ListItem 定义自己需要的格式。
3. Repeater 控件
     Repeater Web 服务器控件是一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表。Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repeater 控件提供布局。当该页运行时,Repeater 控件依次通过数据源中的记录,并为每个记录呈现一个项。
    Repeater 控件与上述2 个控件相比显得最为单薄,Repeater 一般用于只读的数据,对数据呈现的列表不具备编辑,排序,分页等功能。
适用场景
    功能非常单薄,它使用数据源返回的一组记录呈现只读列表。
4.DetailsView 控件



DetailsView 控件一次呈现一条表格形式的记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。DetailsView 控件通常用在主/详细信息方案中,在这种方案中,主控件(如 GridView 控件)中的所选记录决定了 DetailsView 控件显示的记录。
5.FormView 控件

FormView 控件与 DetailsView 控件类似,它一次呈现数据源中的一条记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。不过,FormView 控件与 DetailsView 控件之间的差别在于:DetailsView 控件使用基于表格的布局,在这种布局中,数据记录的每个字段都显示为控件中的一行。而 FormView 控件则不指定用于显示记录的预定义布局。实际上,您将创建包含控件的模板,以显示记录中的各个字段。该模板包含用于设置窗体布局的格式、控件和绑定表达式。

你可能感兴趣的:(编程,Web,.net,asp.net,asp)