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仍然全然支持)是一个 ...
随机推荐
- bistu新生-1005
#include "stdio.h"#include "string.h"int main(){ char ku[]={'0','1','2','3','4', ...
- C++11 不抛异常的new operator
在google cpp style guide里面明确指出:we don't use exceptions C++11的noexcept关键字为这种选择提供了便利. C++11以前,提及malloc和 ...
- java互斥方法
synchronized, lock/unlock, volatile类型变量, atom类, 同步集合, 新类库中的构件: CountDownLatch\CyclicBarric\Semaph ...
- ios 从网络上获取图片并在UIImageView中显示
ios 从网络上获取图片 -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...
- Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题: 1. 安装jdk 我下载的jdk是bin格式的,直接运行解压,得到一个文件夹. 这个文件夹作为jdk的安装目录,可以拷贝到任意目录. ...
- HTML的定位属性
position 用于定义一个元素是否absolute(绝对),relative(相对),static(静态),或者fixed(固定) top层距离顶点纵坐标的距离 left层距离顶点横坐标的距 ...
- 使用httputils上传图片到服务器
//创建httpUtils对象 HttpUtils mRegHttpUtils = new HttpUtils(); //图片路径 String path = "/sdcard/Downlo ...
- 根据存放位置数据的链表P打印链表L的元素
题目:给定一个链表L和另一个链表P,它们包含以升序排列的整数.操作printLots打印L中那些由P所指定的位置上的元素.写出过程printLots(L,P).只可以使用公有的STL容器操作.该过程的 ...
- select与epoll、apache与nginx实现原理对比
转自:http://www.tuicool.com/articles/AzmiY3 关于select与epoll 两种IO模型,都属于多路IO就绪通知,提供了对大量文件描述符就绪检查的高性能方案,只不 ...
- 基于 OpenSSL 的 CA 建立及证书签发 【转】
建立 CA 建立 CA 目录结构 按照 OpenSSL 的默认配置建立 CA ,需要在文件系统中建立相应的目录结构.相关的配置内容一般位于 /usr/ssl/openssl.cnf 内,详情可参见 c ...