027. asp.net中数据绑定控件之 GridView控件
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仍然全然支持)是一个 ...
随机推荐
- 深入学习:Windows下Git入门教程(上)
一,安装Git: 1.1Linux上安装命令: sudo apt-get install git 1.2在Windows上安装Git: 使用Windows版的msysgit,官方下载地址:http:/ ...
- Cow Exhibition_背包(负数情况)
Description "Fat and docile, big and dumb, they look so stupid, they aren't much fun..." - ...
- Asp登陆
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QYLogin.aspx.c ...
- Application,Session,Cookie,ViewState和Cache区别
在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法 信息量大小 作用域和保 ...
- ssh 命令
常用的ssh命令 cd 切换目录 1.查看日志:举例: tail -f tomcat/apache-tomcat-6.0.26/logs/catalina.2010-11-10.out 2.pwd ...
- Objective-C对象初始化 、 实例方法和参数 、 类方法 、 工厂方法 、 单例模式
1 重构Point2类 1.1 问题 本案例使用初始化方法重构Point2类,类中有横坐标x.纵坐标y两个属性,并且有一个能显示位置show方法.在主程序中创建两个Point2类的对象,设置其横纵坐标 ...
- Core Data入门
简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象. ...
- dedecms 列表页 list 判断flag给定指定样式 (本地测试有效)
{dede:list pagesize='10'} [field:array runphp='yes'] if (@me['flag']=='a') @me=' <a class="n ...
- scrollView滚动(通过代码)
平时的开发中可能会要求scrollview滚动,一般的方法时通过scrollview.scrollto(0,1000);来实现,但是注意这个方法是在scrollview停止动画之后才能执行的,因为如果 ...
- ZOJ 3804--解题报告
题目相关: 3804相关链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5336 宠物(minion)在N*M的矩形玩游戏 ...