NET 2005中dataview与datagrid的区别?

解决方案 »

  1.   

    DataGrid 和 GridView 控件都是从 WebControl 类派生的。虽然 GridView 控件与 DataGrid 控件具有类似的对象模型,但与 DataGrid 控件相比,前者还具有许多新功能和优势,包括:更丰富的设计时功能。改进的数据源绑定功能。排序、分页、更新和删除的自动处理。其他列类型和设计时列操作。具有 PagerTemplate 属性的自定义页导航用户界面 (UI)。GridView 控件和 DataGrid 控件之间的差异包括:不同的自定义分页支持。不同的事件模型。改进的设计时功能
    使用 DataGrid 控件时,数据的排序、分页和就地编辑需要附加的编码。GridView 控件则使您无需编写任何代码即可添加排序、分页和编辑功能。实际上,可以通过在控件上设置属性来自动完成这些任务(以及诸如到数据源的数据绑定等其他常见任务)。在设计器(如 Microsoft Visual Studio)中工作时,可以利用内置在 GridView 控件中的设计器功能。GridView 控件提供了对智能标记面板的支持,这种面板为执行常见任务(如设置属性和启动模板编辑)提供了方便的界面。改进的数据源绑定功能
    通常,将 DataSet 控件、DbDataReader 控件或集合(如 Array、ArrayList 或 System.Collections 命名空间中的其他一些类)分配给 DataGrid 控件或 GridView 控件的 DataSource 属性。DataGrid 控件和 GridView 控件可以绑定任何实现 IEnumerable 或 IListSource 接口的对象。 DataGrid 控件可以以声明方式绑定 DataSourceControl 控件,但这只适用于数据选择。必须手动编码才能实现排序、分页、更新和删除。GridView 控件支持 DataSourceID 属性,该属性接受任何实现了 IDataSource 接口因此可以利用数据源控件的排序、分页、更新和删除功能的对象,例如,SqlDataSource 控件。其他列类型
    GridView 控件支持以下列类型:BoundField、HyperLinkField、ButtonField、CommandField、ImageField 和 CheckBoxField。 内置和自定义分页支持
    DataGrid 控件需要其他编码用于分页。GridView 控件通过设置 PagerSettings 属性自动支持分页。PagerSettings 属性支持四种模式:Numeric (默认值)、NextPrevious、NumericFirstLast 和 NextPreviousFirstLast。Numeric 模式显示带编号的页链接而不是“下一个/上一个”链接,并且 NumericFirstLast 选项添加第一个和最后一个页链接。GridView 控件的 PagerStyle 属性可以用于设置页导航的样式和位置。另外,可以使用 PagerTemplate 自定义 GridView 控件的页导航按钮。GridView 中的自定义分页支持由绑定数据源控件提供,而 AllowCustomPaging 机制则是由 DataGrid 控件提供的。扩展的事件模型
    DataGrid 和 GridView 控件具有不同的事件模型。DataGrid 控件引发操作的单个事件,而 GridView 控件能够引发操作前和操作后的事件。GridView 控件支持在对字段排序时发生的 Sorting 事件。注意,此排序事件发生在 GridView 控件自动处理排序操作之前,这样您将有机会检查或更改 SortExpression 属性,或通过在传递的事件参数上将 Cancel 属性设置为 true 来取消此操作。 GridView 控件支持在 GridView 控件完成排序操作之后发生的 Sorted 事件,这样您将有机会更改排序操作的结果或设置其格式。相反,DataGrid 控件支持在对列进行排序时发生的 SortCommand 事件。同样,GridView 控件支持在 GridView 控件自动处理更新操作之前和之后发生的 RowUpdating 和 RowUpdated 事件。相比之下,DataGrid 控件支持在对网格中的项单击“更新”按钮时发生的 UpdateCommand 事件。