GridView控件

GridView是ASP.NET 2.0中DataGrid的增强版,解决了DataGrid需要大量定制代码的问题,实现了双向数据绑定。它与新的数据源控件紧密配合,提供了排序、分页等功能,减少了开发工作量。GridView的特性包括无代码双向绑定、多个主键字段、新列类型和样式模板。通过设置DataSourceID属性,可自动进行数据绑定。GridView控件还支持多种事件,如RowCommand、RowUpdating等,允许在事件中处理数据验证和操作。此外,可通过配置Columns属性定制列显示,使用ButtonField、HyperLinkField和CheckBoxField等字段类型实现不同操作。GridView还支持行选择和行定制,可以根据条件禁用行或修改行布局。
摘要由CSDN通过智能技术生成
 
GridView 是ASP.NET 1.x的DataGrid控件的后继者。它提供了相同的基本功能集,同时增加了大量扩展和改进。如前所述,DataGrid(ASP.NET 2.0仍然完全支持)是一个功能非常强大的通用控件。然而,它有一个重大缺陷:它要求我们编写大量定制代码,甚至处理比较简单而常见的操作,诸如分页、排序、编辑或删除数据等也不例外。GridView控件旨在解决此限制,并以尽可能少的数据实现双向数据绑定。该控件与新的数据源控件系列紧密结合,而且只要底层的数据源对象支持,它还可以直接处理数据源更新。
这种实质上无代码的双向数据绑定是新的GridView控件最著名的特征,但是该控件还增强了很多其他功能。该控件之所以比DataGrid控件有所改进,是因为它能够定义多个主键字段、新的列类型以及样式和模板选项。GridView还有一个扩展的事件模型,允许我们处理或撤销事件。
GridView 控件为数据源的内容提供了一个表格式的类网格视图。每一列表示一个数据源字段,而每一行表示一个记录。该类声明如下:
public class GridView : CompositeDataBoundControl,
                           ICallbackContainer,
                           ICallbackEventHandler
该基类确保数据绑定和命名容器支持。ICallbackContainer和ICallbackEventHandler接口提供了比现在支持的更有效的分页和排序功能。它通过使用新的脚本回调技术的客户端的out-of-band调用来完成。(稍候将会更详细地讨论这一点。)首先让我们来看看GridView控件的编程接口。
1. GridView 控件的属性
GridView 支持大量属性,这些属性属于如下几大类:行为、可视化设置、样式、状态和模板。表10.6详细描述了影响的行为的属性。 
 
表10.6  GridView控件的行为属性
属性
描述
AllowPaging
指示该控件是否支持分页。
AllowSorting
指示该控件是否支持排序。
AutoGenerateColumns
指示是否自动地为数据源中的每个字段创建列。默认为true。
AutoGenerateDeleteButton
指示该控件是否包含一个按钮列以允许用户删除映射到被单击行的记录。
AutoGenerateEditButton
指示该控件是否包含一个按钮列以允许用户编辑映射到被单击行的记录。
AutoGenerateSelectButton
指示该控件是否包含一个按钮列以允许用户选择映射到被单击行的记录。
DataMember
指示一个多成员数据源中的特定表绑定到该网格。该属性与DataSource结合使用。如果DataSource是有一个DataSet对象,则该属性包含要绑定的特定表的名称。
DataSource
获得或设置包含用来填充该控件的值的数据源对象。
DataSourceID
指示所绑定的数据源控件。
EnableSortingAndPagingCallbacks
指示是否使用脚本回调函数完成排序和分页。默认情况下禁用。
RowHeaderColumn
用作列标题的列名。该属性旨在改善可访问性。
SortDirection
获得列的当前排序方向。
SortExpression
获得当前排序表达式。
UseAccessibleHeader
规定是否为列标题生成<th>标签(而不是<td>标签)。
SortDirection 和SortExpression属性规定当前决定行的排列顺序的列上的排序方向和排序表达式。这两个属性都是在用户单击列的标题时由该控件的内置排序机制设置的。整个排序引擎通过AllowSorting属性启用和禁用。EnableSortingAndPagingCallbacks属性打开和关闭该控件的使用脚本回调进行分页和排序,而不用往返于服务器并改变整个页面的功能。
GridView 控件内显示的每一行对应于一种特殊的网格项。预定义的项目类型几乎等于DataGrid的项目类型,包括标题、行和交替行、页脚和分页器等项目。这些项目是静态的,因为它们在控件的生命期内在应用程序中保持不变。其他类型的项目在短暂的时间(即,完成某种操作所需的时间)内是活动的。动态项目是编辑行、所选的行和EmptyData项。当网格绑定到一个空的数据源时,EmptyData标识该网格的主体。
0 && image.height>0){if(image.width>=510){this.width=510;this.height=image.height*510/image.width;}}" href="https://i-blog.csdnimg.cn/blog_migrate/024738c6d0593e2e6d647252d6dbca49.png">  注意     GridView 控件提供了几个专门为了可访问性而设计的属性。这些属性是 UseAccessibleHeader Caption CaptionAlign RowHeaderColumn 。设置 RowHeaderColumn 时,将用默认的标题样式 ( 黑体字 ) 输出该列的所有单元。然而, ShowHeader HeaderStyle 和其他与标题相关的属性并不会影响由 RowHeaderColumn 指示的列。
表10.7详细描述了GridView控件上可用的样式属性。 
 
表10.7  GridView控件的样式属性
样式
描述
AlternatingRowStyle
定义表中每隔一行的样式属性。
EditRowStyle
定义正在编辑的行的样式属性。
FooterStyle
定义网格的页脚的样式属性。
HeaderStyle
定义网格的标题的样式属性。
EmptyDataRowStyle
定义空行的样式属性,这是在GridView绑定到空数据源时生成。
PagerStyle
定义网格的分页器的样式属性。
RowStyle
定义表中的行的样式属性。
SelectedRowStyle
定义当前所选行的样式属性。
 
表10.8列出了影响控件外观的大多数属性,而表10.9列出了模板属性。
 
表10.8  GridView控件的外观属性
属性
描述
BackImageUrl
指示要在控件背景中显示的图像的URL。
Caption
在该控件的标题中显示的文本。
CaptionAlign
标题文本的对齐方式。
CellPadding
指示一个单元的内容与边界之间的间隔(以像素为单位)。
CellSpacing
指示单元之间的间隔(以像素为单位)。
GridLines
指示该控件的网格线样式。
HorizontalAlign
指示该页面上的控件水平对齐。
EmptyDataText
指示当该控件绑定到一个空的数据源时生成的文本。
PagerSettings
引用一个允许我们设置分页器按钮的属性的对象。
ShowFooter
指示是否显示页脚行。
ShowHeader
指示是否显示标题行。
 
PagerSettings 对象把所有可以对分页器设置的可视化属性组织在一起。其中有很多属性在DataGrid程序员看来应该是熟悉的。PagerSettings类还添加了一些新属性以满足新的预定义的按钮(第1页和最后一页),并在链接中使用图像代替文本。(我们需要合计出一条和使用DataGrid时相同的诀窍。)
表10.9  GridView控件的模板属性
模板
描述
EmptyDataTemplate
指示该控件绑定到一个空的数据源时要生成的模板内容。如果该属性和EmptyDataText属性都设置了,则该属性优先采用。如果两个属性都没有设置,则把该网格控件绑定到一个空的数据源时不生成该网格。
PagerTemplate
指示要为分页器生成的模板内容。该属性覆盖我们可能通过PagerSettings属性作出的任何设置。
最后剩下的是状态属性,表10.10列出了这些属性。状态属性返回有关控件的内部状态的信息。
表10.10  状态属性
属性
描述
BottomPagerRow
返回表格该网格控件的底部分页器的GridViewRow对象。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值