ASP.NET的GridView与DataGrid控件比较浅析


  本文标签:GridView与DataGrid

  ASP.NET的GridView与DataGrid 控件比较都有哪些方面呢?那么下面就开始我们的讲解:

  GridView 控件是 DataGrid 控件的后继控件  。与 DataGrid 控件相似,GridView 控件旨在在 HTML 表中显示数据  。当绑定到数据源时,DataGrid 和 GridView 控件分别将 DataSource 中的一行显示为输出表中的一行  。

  DataGrid 和 GridView 控件都是从 WebControl 类派生的  。虽然 GridView 控件与 DataGrid 控件具有类似的对象模型,但与 DataGrid 控件相比,前者还具有许多新功能和优势,包括:

  更丰富的设计时功能  。

  ASP.NET的GridView与DataGrid 控件之改进的数据源绑定功能  。

  排序、分页、更新和删除的自动处理  。

  其他列类型和设计时列操作  。

  具有 PagerTemplate 属性的自定义页导航用户界面 (UI)  。

  GridView 控件和 DataGrid 控件之间的差异包括:

  不同的自定义分页支持  。

  不同的事件模型  。

  ASP.NET的GridView与DataGrid 控件之改进的设计时功能

  使用 DataGrid 控件时,数据的排序、分页和就地编辑需要附加的编码  。GridView 控件则使您无需编写任何代码即可添加排序、分页和编辑功能  。实际上,可以通过在控件上设置属性来自动完成这些任务(以及诸如到数据源的数据绑定等其他常见任务)  。

  在设计器(如 Microsoft Visual Studio)中工作时,可以利用内置在 GridView 控件中的设计器功能  。GridView 控件提供了对智能标记面板的支持,这种面板为执行常见任务(如设置属性和启动模板编辑)提供了方便的界面  。

  ASP.NET的GridView与DataGrid 控件之改进的数据源绑定功能

  通常,将 DataSet 控件、DbDataReader 控件或集合(如 Array、ArrayList 或 System.Collections 命名空间中的其他一些类)分配给 DataGrid 控件或 GridView 控件的 DataSource 属性  。DataGrid 控件和 GridView 控件可以绑定任何实现 IEnumerable 或 IListSource 接口的对象  。

  DataGrid 控件可以以声明方式绑定 DataSourceControl 控件,但这只适用于数据选择  。必须手动编码才能实现排序、分页、更新和删除  。GridView 控件支持 DataSourceID 属性,该属性接受任何实现了 IDataSource 接口因此可以利用数据源控件的排序、分页、更新和删除功能的对象,例如,SqlDataSource 控件  。

  ASP.NET的GridView与DataGrid 控件之其他列类型

  GridView 控件支持以下列类型:BoundField、HyperLinkField、ButtonField、CommandField、ImageField 和 CheckBoxField  。

  内置和自定义分页支持

  DataGrid 控件需要其他编码用于分页  。GridView 控件通过设置 PagerSettings 属性自动支持分页  。PagerSettings 属性支持四种模式:Numeric(默认值)、NextPrevious、NumericFirstLast 和 NextPreviousFirstLast  。Numeric 模式显示带编号的页链接而不是“下一个/上一个”链接,并且 NumericFirstLast 选项添加第一个和最后一个页链接  。GridView 控件的 PagerStyle 属性可以用于设置页导航的样式和位置  。

  另外,可以使用 PagerTemplate 自定义 GridView 控件的页导航按钮  。

  GridView 中的自定义分页支持由绑定数据源控件提供,而 AllowCustomPaging 机制则是由 DataGrid 控件提供的  。

  ASP.NET的GridView与DataGrid 控件之扩展的事件模型

  DataGrid 与GridView 控件具有不同的事件模型  。

  DataGrid 控件引发操作的单个事件,而 GridView 控件能够引发操作前和操作后的事件  。GridView 控件支持在对字段排序时发生的 Sorting 事件  。注意,此排序事件发生在 GridView 控件自动处理排序操作之前,这样您将有机会检查或更改 SortExpression 属性,或通过在传递的事件参数上将 Cancel 属性设置为 true 来取消此操作  。

  ASP.NET的GridView与DataGrid 控件之间的区别就简单向你介绍到这里,希望对你了解ASP.NET的GridView与DataGrid 控件有所帮助  。

  

  GridView 控件支持在 GridView 控件完成排序操作之后发生的 Sorted 事件,这样您将有机会更改排序操作的结果或设置其格式  。相反,DataGrid 控件支持在对列进行排序时发生的 SortCommand 事件  。同样,GridView 控件支持在 GridView 控件自动处理更新操作之前和之后发生的 RowUpdating 和 RowUpdated 事件  。相比之下,DataGrid 控件支持在对网格中的项单击“更新”按钮时发生的 UpdateCommand 事件  。