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仍然全然支持)是一个 ...
随机推荐
- 基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效
本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转.无限滚动.文字跳动;实现起来均比较容易,动手来试试! 一.图片旋转 效果图如下: 这个效果实现起来其实并不困难.代码清单如下: < ...
- Python入门(一,Ubuntu环境搭建)
一,Python下载 下载地址:http://www.python.org/download/ 二,安装 在Ubuntu平台上安装Python步骤: 1.解压缩下载的源码压缩包 2.在解压缩的目录下执 ...
- BZOJ 3687 简单题
bitset维护某个和是否存在. bit<<x:所有子集的和+x. #include<iostream> #include<cstdio> #include< ...
- VBS_DO...Loop
循环用于重复执行一组语句.循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句. 在 VBScript 中可使用下 ...
- 爆破unabexcm5fl(已补上注册机)
系统 : Windows xp 程序 : unabexcm5fl 程序下载地址 :http://pan.baidu.com/s/1pJYaNUV 要求 : 爆破 使用工具 :OD 可在“PEDIY C ...
- Windows Phone 8.1 Page transitions
original: http://www.visuallylocated.com/post/2014/06/24/Page-transitions-and-animations-in-Windows- ...
- C# subString的理解
public void TestMethod1() { string str = "ABCDEFGHIJKLMN"; string result ...
- 如何避免后台IO高负载造成的长时间JVM GC停顿(转)
译者著:其实本文的中心意思非常简单,没有耐心的读者建议直接拉到最后看结论部分,有兴趣的读者可以详细阅读一下. 原文发表于Linkedin Engineering,作者 Zhenyun Zhuang是L ...
- jq实现动态添加样式
<script> $(function(){ $("#list_zlm > a").hover(function(){ $(this).addClass(&quo ...
- 如何在dede栏目设置中添加自定义字段(dede二次开发-纯抄贴)
如何在dede栏目设置中添加自定义字段 这个说法以前没有见到到,很少有客户会提出这样的二次要求,今天织梦者在网上转了一下看到了这样的一篇文章转过来与大家分享 鉴于这个教程没人发过,网上搜索的人也比较多 ...