GridView控件支持下面的功能:
绑定至数据源控件, 如SqlDataSource
内置排序功能
内置更新和删除功能
内置分页功能
内置行选择功能
可以编程方式访问GridView对象模型以动态设置属性 处理事件等
多个键字段
用于超链接列的多个数据字段
可通过主题和样式自定义外观
Girdview控件常用属性:
BackImageUrl |
背景图片 |
EmptyDtatText |
没有任何数据时显示的文字 |
GridLines |
网格线的样式 |
ShowHeader |
是否显示页首连接 |
ShowFooter |
是否显示页尾连接 |
AllowSorting |
是否启用排序功能 |
AllowPaging |
是否启用分页功能 , 启用为True, 否则为false |
AutoGenerateColumns |
是否为数据源中的每个字段自动创建绑定字段 |
AutoGenerateDeleteButton |
是否自动产生删除按钮 |
AutoGenerateEditButton |
是否自动产生编辑按钮 |
AutoGenerSelectButton |
是否自动产生选择按钮 |
EnableSortingAndPagingCallbacks |
是否启用排序和分页的异步支持 |
Enabled |
获取或设置一个值, 该值指示是否启用Web服务器控件 |
EnableTheming |
是否启用主题 |
EnableViewState |
是否启用ViewState状态 |
DataKeyNames |
string[]数据类型, 该数组包含了显示在GridView控件中的项的主键字段的名称 |
DataMember |
当数据源包含多个不同的数据项列表是, 获取或设置数据绑定控件绑定到的数据列表的名称 |
DataSource |
数据绑定控件从该对象中检索其数据项列表 |
DataSourceID |
数据源控件的ID, 数据绑定控件从该控件中检索要绑定的数据 |
Caption |
设置标题文字 |
CaptionAlign |
标题文字的对齐方式 |
AltenatingRowStyle |
设置交换数据行的外观 |
EditRowStyle |
设置编辑模式下数据行的外观 |
EmptyDataRowStyle |
设置空数据行的外观 |
FooterStyle |
设置页尾数据行的外观 |
HeaderStyle |
设置页首数据行的外观 |
HorizontalAlign |
设置GridView控件在页面上的水平对齐方式 |
PageCount |
获取在GridView控件中显示所需的分页数 |
PagerStyle |
设置页面导航栏的外观 |
RowStyle |
设置数据行的外观 |
SelectRowStyle |
设置已选择数据行的外观 |
SortDirection |
获取正在排序的列的排序方向 |
SotreExpression |
获取与正在排序的列关联的排序表达式 |
GridView常用方法:
ApplyStyleSheetSkin |
将样式表中定义的样式属性应用到控件 |
DataBind |
将数据源绑定到GridView控件中, 只有使用该方法绑定, 才能将数据源中的数据显示在控件中 |
DeleteRow |
从数据源中删除位于指定索引位置的记录 |
FindControl |
在当前的命名容器中搜索指定的服务器控件 |
Focus |
为控件设置输入焦点 |
GetType |
获取当前示例的Type |
HasControls |
确定服务器控件是否包含任何子控件 |
IsBindableType |
确定指定的数据类型是否绑定到GridView控件中的列 |
Sort |
根据指定的排序表达式和方向对Gridview控件进行排序 sortExpression 对GridView控件进行排序时使用的排序表达式 sortDirection Ascending/Descending |
UpdateRow |
使用行的字段值更新位于指定行索引位置的记录 |
GridView常用事件:
RowCommand |
在 GridView 控件中单击某个按钮时发生.此事件通常用于在该控件中单击某个按钮时执行某项任务. |
PageIndexChanging |
在单击页导航按钮时发生,但在 GridView 控件执行分页操作之前.此事件通常用于取消分页操作. |
PageIndexChanged |
在单击页导航按钮时发生,但在 GridView 控件执行分页操作之后.此事件通常用于在用户定位到该控件中不同的页之后需要执行某项任务时. |
SelectedIndexChanging |
在单击 GridView 控件内某一行的 Select 按钮(其 CommandName 属性设置为“Select”的按钮)时发生,但在 GridView 控件执行选择操作之前.此事件通常用于取消选择操作. |
SelectedIndexChanged |
在单击 GridView 控件内某一行的 Select 按钮时发生,但在 GridView 控件执行选择操作之后.此事件通常用于在选择了该控件中的某行后执行某项任务. |
Sorting |
在单击某个用于对列进行排序的超链接时发生,但在 GridView 控件执行排序操作之前.此事件通常用于取消排序操作或执行自定义的排序例程. |
Sorted |
在单击某个用于对列进行排序的超链接时发生,但在 GridView 控件执行排序操作之后.此事件通常用于在用户单击对列进行排序的超链接之后执行某项任务. |
RowDataBound |
在 GridView 控件中的某个行被绑定到一个数据记录时发生.此事件通常用于在某个行被绑定到数据时修改该行的内容. |
RowCreated |
在 GridView 控件中创建新行时发生.此事件通常用于在创建某个行时修改该行的布局或外观. |
RowDeleting |
在单击 GridView 控件内某一行的 Delete 按钮(其 CommandName 属性设置为“Delete”的按钮)时发生,但在 GridView 控件从数据源删除记录之前.此事件通常用于取消删除操作. |
RowDeleted |
在单击 GridView 控件内某一行的 Delete 按钮时发生,但在 GridView 控件从数据源删除记录之后.此事件通常用于检查删除操作的结果. |
RowEditing |
在单击 GridView 控件内某一行的 Edit 按钮(其 CommandName 属性设置为“Edit”的按钮)时发生,但在 GridView 控件进入编辑模式之前.此事件通常用于取消编辑操作. |
RowCancelingEdit |
在单击 GridView 控件内某一行的 Cancel 按钮(其 CommandName 属性设置为“Cancel”的按钮)时发生,但在 GridView 控件退出编辑模式之前.此事件通常用于停止取消操作. |
RowUpdating |
在单击 GridView 控件内某一行的 Update 按钮(其 CommandName 属性设置为“Update”的按钮)时发生,但在 GridView 控件更新记录之前.此事件通常用于取消更新操作. |
RowUpdated |
在单击 GridView 控件内某一行的 Update 按钮时发生,但在 GridView 控件更新记录之后.此事件通常用来检查更新操作的结果. |
DataBound |
此事件继承自 BaseDataBoundControl 控件,在 GridView 控件完成到数据源的绑定后发生. |
DataBinding |
当服务器控件绑定到数据源时发生 |
CommandName属性值及说明:
Cancel |
取消编辑操作, 并将GridView控件返回为只读模式 |
Delete |
删除当前记录 |
Edit |
将当前记录至于编辑模式 |
Page |
执行分页操作, 将按钮的CommandArgument属性设置为First, last , Next, Prev 或页码, 以指定要执行的分页操作类型 |
Select |
选择当前记录 |
Sort |
对GridView控件进行排序 |
Update |
更新数据源中的当前记录 |
制定GridView控件的列:
对于GridView控件中的每一列由一个DataControlField对象表示, 默认情况下, AutoGenerateColumns属性被设置为True, 为数据源中的每一个字段创建一个AutoGeneratedFiled. 将AutoGenerateColumns属性设置为false时, 可以自定义数据绑定列. GridView控件共包含7中类型列:
BoundField(普通数据绑定列) |
将Data Source数据源的字段数据以文本方式显示 |
CheckBoxField(CheckBox字段) |
显示为CheckBox类型,通常用于布尔值True/False的显示 |
CommandField(命令数据绑定列) |
显示含有命令的Button按钮,包括了Select、Edit、Update、Delete命令按钮(DetailsView的CommandField才支持Insert命令), 通过设置字段的ButtonType属性可变更命令按钮的外观, 默认是Link样式.若要以图片形式显示编辑按钮外观, 一定要设置ButtonType的属性为Image |
ImageField(图片数据绑定列) |
在数据绑定控件中显示图像字段, 通常ImageField存储的是图片路径. |
ButtonField(按钮字段) |
在数据绑定控件中显示命令按钮。根据控件的不同,它可让您显示具有自定义按钮控件(例如添加/移除按钮)的数据行或数据列,按下时会引发RowCommand事件 CommandField(命令字段) |
HyperLinkField(超链接字段) |
将Data Source数据源字段数据显示成HyperLink超级链接,并可指定另外的NavigateUrl超链接 ImageField(图像字段)在数据绑定控件中显示图像字段 |
TemplateField(模板字段) |
允许以模板形式自定义数据绑定列的内容.常用模板如下:
|
当GridView控件中显示的数据很多时, 单击GridView控件中的某一个按钮, 页面就会刷新, 刷新后页面回到网页的底部, 然后必须查找原来的位置, 这样造成了不必要的麻烦, 为了解决这个问题, 在ASP.NET2.0中添加了MaintainScrollPositionOnPostback="true"
属性, 他的作用就是在网页刷新后仍维持原位.
<%@ Page Title="主页" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" Debug="true" MaintainScrollPositionOnPostback="true" %>
示例代码:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) GridViewBind(); } public SqlConnection GetCon() { //实例化SqlConnection对象 SqlConnection sqlCon = new SqlConnection(); //实例化SqlConnection对象连接数据库的字符串 sqlCon.ConnectionString = "server=.\\LG;uid=sa;pwd=;database=TYW"; return sqlCon; } public void GridViewBind() { SqlConnection myConn = GetCon(); //定义SQL语句 string SqlStr = "select * from sysUser"; //实例化SqlDataAdapter对象 SqlDataAdapter da = new SqlDataAdapter(SqlStr, myConn); //实例化数据集DataSet DataSet ds = new DataSet(); da.Fill(ds, "sysUser"); //绑定DataList控件 GridView1.DataSource = ds;//设置数据源,用于填充控件中的项的值列表 GridView1.DataKeyNames = new string[] { "userID" }; GridView1.DataBind();//将控件及其所有子控件绑定到指定的数据源 } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { //设置GridView控件的编辑项的索引为选择的当前索引 GridView1.EditIndex = e.NewEditIndex; //数据绑定 GridViewBind(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { //设置GridView控件的编辑项的索引为-1,即取消编辑 GridView1.EditIndex = -; //数据绑定 GridViewBind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { //取得编辑行的关键字段的值 string stuID = GridView1.DataKeys[e.RowIndex].Value.ToString(); //取得文本框中输入的内容 string stuName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[].Controls[])).Text.ToString(); //string stuSex = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString(); //string stuHobby = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString(); string sqlStr = "update sysUser set Userame='" + stuName + "' where userID=" + stuID; SqlConnection myConn = GetCon(); myConn.Open(); SqlCommand myCmd = new SqlCommand(sqlStr, myConn); myCmd.ExecuteNonQuery(); myCmd.Dispose(); myConn.Close(); GridView1.EditIndex = -; GridViewBind(); }
027. asp.net中数据绑定控件之 GridView控件的更多相关文章
-
ASP.NET中的FileUpload文件上传控件的使用
本篇文章教大家如何将客户端的图片或者文件上传到服务器: 无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等). 第一步:放入以下三个控件 Image控件,Fi ...
-
数据绑定技术一:GridView控件
在网站或应用程序中,要显示数据信息,可用到ASP.NET提供的数据源控件和能够显示数据的控件. 一.数据源控件 数据源控件用于连接数据源.从数据源中读取数据以及把数据写入数据源. 1.数据源控件特点 ...
-
ASP.NET编辑与更新数据(非GridView控件实现)
Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与 ...
-
ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作
说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...
-
ASP.NET中多个相同name的控件在后台正确取值
有兽, 页面上可能有多个相同name的Html表单控件, 一般在后台使用Request.Form[“name”]取值,并用‘,’分隔. 但是当值中包含逗号时, 取值就会出现异常, ...
-
ASP.NET中数据绑定表达式
今天谈下.NET中的数据绑定表达式.数据绑定表达式必须包含在<%#和%>字符之间.格式如下: <tagprefix:tagname property='<%# data-bin ...
-
Devexpress 中控件及GridView控件的Cell增加右键复制功能
a) GridView中任何一个Cell增加右键复制功能GridHitInfo gridHitInfo = new GridHitInfo(); //用户接收GridView中单元格数据void gr ...
-
Repeater, DataList, 和GridView控件的区别
http://blog.sina.com.cn/s/blog_646dc75c0100h5p6.html http://www.cnblogs.com/phone/archive/2010/09/15 ...
-
GridView控件
GridView是ASP.NET 1.x的DataGrid控件的后继者.它提供了同样的基本功能集,同一时候添加�了大量扩展和改进.如前所述,DataGrid(ASP.NET 2.0仍然全然支持)是一个 ...
随机推荐
-
iOS-开发者相关的几种证书
目录 引言 写在前面 一App IDbundle identifier 二设备Device 三开发证书Certificates 证书的概念 数字证书的概念 iOS开发证书 iOS开发证书的根证书 申请 ...
-
highcharts 统计的样式
highcharts 官网:http://www.hcharts.cn/
-
C#中value是什么意思
value是c#中的“属性”例如c#某个类中有一个成员变量(字段),为了安全性,外部如果要访问它,必须通过“属性”来访问:private int _id;//这是一个成员变量,private表示是私有 ...
-
java面试每日一题8
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...
-
Java笔记(二十八)&hellip;&hellip;IO流下 IO包中其他常用类以及编码表问题
PrintWriter打印流 Writer的子类,既可以接收字符流,也可以接收字节流,还可以接收文件名或者文件对象,非常方便 同时,还可以设置自动刷新以及保持原有格式写入各种文本类型的print方法 ...
-
获取URL中的参数值
//获取url中ID的值function getParamByName(name, url) { var match = RegExp('[?&]' + name + '=([^&]* ...
-
设置某个类使用或者禁用ARC
设置这个类为ARC的 用:-fobjc-arc 设置这个类非ARC的:-fno-objc-arc 工程是非ARC的,但是引用的第三方类库是ARC的,所以要使用的时候,要单独设置这个第三方的类是A ...
-
移动 web 适配
一.移动 web 开发与适配 1.跑在手机端的 web 页面(H5 页面) 2.跨平台(PC 端.手机端 - 安卓.IOS) 3.基于 webview(终端开发技术的一个组件) 4.告别 IE 拥抱 ...
-
[hgoi#2019/2/24]玄学考试
感想 对于这次考试,真的不想说什么了,太玄学了!!! t1输出比标准输出长,这是什么操作???难道要关文件???但是交到oj上又A掉了.这是什么操作. t2还好,没有出什么意外...但是要吐槽一下出题 ...
-
Hibernate映射 --- 自身跟自身的一对多关联
自身跟自身的一对多关联 什么时候会出现自身一对多关系呢?下面举个例子. 淘宝店里商品分类,一级分类:家用电器,个人化妆,运动户外等 家用电器下面二级分类:大家电,生活电器,厨房电器等 二级分类大家 ...