GridView控件

GridView控件的使用(一) GridView它是一个强大的数据绑定控件,能够灵活地显示和编辑数据源中的数据。 阅读详情
 
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  状态属性
属性
描述
调整GridView编辑时控件大小 <br />protected void GVSTinfor_RowDataBound(object sender, GridViewRowEventArgs e) { if ((e.Row.RowState == (DataControlRowState.Edit |DataControlRowState.Alternate)) || (e.Row.RowState==DataControlRowState.Edit)) { 阅读详情

相关推荐

SpringBoot Actuator未授权访问漏洞实战:从发现到利用

本文深入剖析了SpringBoot Actuator未授权访问漏洞的成因、危害与利用手法。文章详细演示了如何发现暴露的端点,并通过实战案例复现了从敏感信息泄露到利用反序列化漏洞实现远程代码执行(RCE)的全过程,为开发与运维人员提供了从漏洞发现到修复加固的完整安全指南。

weixin_29231221的博客 260

Kali实战:LAMPSecurity CTF5靶场渗透全流程(附详细漏洞利用步骤)

本文详细解析了Kali Linux在LAMPSecurity CTF5靶场渗透中的全流程,包括靶场环境搭建、Web应用漏洞挖掘、横向移动与权限提升等关键步骤。通过实战案例演示了如何利用NanoCMS漏洞获取系统权限,并提供了详细的防御措施与加固建议,帮助安全人员提升渗透测试技能。

weixin_29230901的博客 211

从零开始:使用Mask2Former训练你的专属图像分割数据集

本文详细介绍了如何使用Mask2Former训练自定义图像分割数据集,从环境配置、数据集准备到模型训练与优化。通过实战技巧和问题排查指南,帮助开发者高效完成从零开始的图像分割任务,特别适合需要处理自定义数据集的AI研究人员和工程师。

weixin_30566063的博客 645

GB28181协议实战:5分钟搞定海康摄像头SIP注册失败问题(附Wireshark抓包分析)

本文详细解析了海康摄像头在GB28181协议下SIP注册失败的7个关键原因及解决方案,包括网络可达性、鉴权参数、NAT穿越等核心问题。通过Wireshark抓包分析,提供快速定位方法,帮助工程师高效解决SIP注册失败问题,提升实时图像联调效率。

weixin_29212867的博客 557

域控制器迁移后NETLOGON共享丢失的修复指南

本文详细解析了在Windows域控制器迁移后NETLOGON共享丢失的故障现象与修复方法。通过使用Dcdiag工具诊断,定位注册表键值SysVolReady异常及SCRIPTS目录缺失等核心原因,并提供了修改注册表、创建目录、重启Netlogon服务等逐步修复指南,帮助管理员快速恢复域用户登录功能,确保业务连续性。

weixin_29245767的博客 88

手把手教你用VMware虚拟机搭建PCAN开发环境:从Ubuntu安装到CAN通讯实战

本文详细指导如何在VMware虚拟机中搭建PCAN开发环境,涵盖从Ubuntu系统安装、VMware精细配置、PCAN-USB设备直通,到Linux驱动编译、can-utils工具集使用及完整CAN通讯测试的全过程。通过实战步骤与故障排查技巧,帮助开发者快速构建稳定高效的CAN总线开发与测试沙盒,特别适合车载诊断与嵌入式通讯应用。

weixin_29216353的博客 225

【流复制环境PostgreSQL-14.1到PostgreSQL-16.1大版本升级】

PostgreSQL大版本会定期添加新特性,这些新特性通常会改变系统表的布局,但内部数据存储格式很少改变。pg_upgrade通过创建新的系统表和重用旧的用户数据文件来执行快速升级。pg_upgrade升级主要有三种用法:1、使用pg_upgrade拷贝升级。2、使用pg_upgrade链接升级(带有- -link选项),- -link较快,但是启动新版本后修改了数据文件,再启动旧版本可能数据损坏,回滚较麻烦,所以尽量避免使用link参数进行升级。

小怪兽的博客 2926

把 SAP BTP Destination 写进 MTA:一段 com.sap.application.content 配置背后的部署编排学

MTA内容模块解析:SAP BTP中的声明式部署机制 本文详细解析了mta.yaml中com.sap.application.content模块在SAP BTP云环境中的作用。该模块通过声明式配置实现内容投递,无需编译或部署代码。核心功能包括: Destination创建:通过content-target:true标识将配置投递到Destination服务 HTML5应用部署:将静态资源投递到HTML5 Application Repository 安全集成:配置XSUAA服务实现OAuth2用户令牌交换

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 165

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: CIO最关心的5 大技术
下一篇: ASP.NET常用代码收集
jdlsfl
博客等级 码龄20年 235粉丝 36原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值