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(模板字段)


允许以模板形式自定义数据绑定列的内容.常用模板如下:

  1. ItemTemplate: 显示每一条数据的模板
  2. AlternatingItemTemplate: 使奇数条数据及偶数条数据以不同的模板显示, 该模板与ItemTemplate结合可产生两个模板交错显示的效果
  3. EditItemTemplate:进入编辑模式时所使用的数据编辑模板, 对于EditItemTemplate用户可以自定义编辑界面
  4. HeaderTemplate: 最上方的标头(标题)

当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"  %>

示例代码:

  1 protected void Page_Load(object sender, EventArgs e)
  2
  3     {
  4
  5         if (!IsPostBack)
  6
  7             GridViewBind();
  8
  9     }
 10
 11     public SqlConnection GetCon()
 12
 13     {
 14
 15         //实例化SqlConnection对象
 16
 17         SqlConnection sqlCon = new SqlConnection();
 18
 19         //实例化SqlConnection对象连接数据库的字符串
 20
 21         sqlCon.ConnectionString = "server=.\\LG;uid=sa;pwd=;database=TYW";
 22
 23         return sqlCon;
 24
 25     }
 26
 27     public void GridViewBind()
 28
 29     {
 30
 31         SqlConnection myConn = GetCon();
 32
 33         //定义SQL语句
 34
 35         string SqlStr = "select * from sysUser";
 36
 37         //实例化SqlDataAdapter对象
 38
 39         SqlDataAdapter da = new SqlDataAdapter(SqlStr, myConn);
 40
 41         //实例化数据集DataSet
 42
 43         DataSet ds = new DataSet();
 44
 45         da.Fill(ds, "sysUser");
 46
 47         //绑定DataList控件
 48
 49         GridView1.DataSource = ds;//设置数据源,用于填充控件中的项的值列表
 50
 51         GridView1.DataKeyNames = new string[] { "userID" };
 52
 53         GridView1.DataBind();//将控件及其所有子控件绑定到指定的数据源
 54
 55     }
 56
 57     protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
 58
 59     {
 60
 61         //设置GridView控件的编辑项的索引为选择的当前索引
 62
 63         GridView1.EditIndex = e.NewEditIndex;
 64
 65         //数据绑定
 66
 67         GridViewBind();
 68
 69     }
 70
 71     protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
 72
 73     {
 74
 75         //设置GridView控件的编辑项的索引为-1,即取消编辑
 76
 77         GridView1.EditIndex = -1;
 78
 79         //数据绑定
 80
 81         GridViewBind();
 82
 83     }
 84
 85     protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
 86
 87     {
 88
 89         //取得编辑行的关键字段的值
 90
 91         string stuID = GridView1.DataKeys[e.RowIndex].Value.ToString();
 92
 93         //取得文本框中输入的内容
 94
 95         string stuName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString();
 96
 97         //string stuSex = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
 98
 99         //string stuHobby = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString();
100
101         string sqlStr = "update sysUser set Userame=‘" + stuName + "‘ where userID=" + stuID;
102
103         SqlConnection myConn = GetCon();
104
105         myConn.Open();
106
107         SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
108
109         myCmd.ExecuteNonQuery();
110
111         myCmd.Dispose();
112
113         myConn.Close();
114
115         GridView1.EditIndex = -1;
116
117         GridViewBind();
118
119     }
时间: 2024-12-14 18:09:09

027. asp.net中数据绑定控件之 GridView控件的相关文章

ASP.NET编辑与更新数据(非GridView控件实现)

Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与更新功能一起演示,留下给网友们自由发挥,但是还是有网友想看看Insus.NET用实现方法. 以前Insus.NET的做法,是在GridView控件中进行.如这篇视频教程<GridView Edit Update Cancel Delete>http://www.cnblogs.com/insus/

将Excel中的数据读入到GridView控件中

使用Excel文件作为数据源,其实现的代码为: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel.xls") + "; Extended Properties=Excel 8.0; 实例代码: private DataSet CreateDataSource()    {        string strCon;        strCon = "Provider

数据绑定技术一:GridView控件

在网站或应用程序中,要显示数据信息,可用到ASP.NET提供的数据源控件和能够显示数据的控件. 一.数据源控件 数据源控件用于连接数据源.从数据源中读取数据以及把数据写入数据源. 1.数据源控件特点 使用数据源控件可以不用编写任何代码就可以实现页面的数据绑定. 2.数据源控件的种类 .NET框架提供了如下几个数据源控件: SqlDataSource,它用来访问存储在关系数据中的数据源,它与SQL Server一起使用时支持高级缓存功能.当数据作为DataSet对象返回时,此控件还支持排序.筛选和

ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作

说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){dosome();})循环出样式为css的所有数据:比如根据不同数据值才显示不同的背景颜色: 效果: 4.如果有翻页的话,可以到后台注册一个JS函数: 前端:定义一个function 后台注册:

ASP.NET中多个相同name的控件在后台取值问题

有兽, 页面上可能有多个相同name的Html表单控件, 一般在后台使用Request.Form[“name”]取值,并用‘,’分隔. 但是当值中包含逗号时, 取值就会出现异常, 这个时候, 我们可以使用Request.Form.GetValues(“name")方法, 获取一个包含一个name值的数组.

ASP.NET中数据绑定表达式

今天谈下.NET中的数据绑定表达式.数据绑定表达式必须包含在<%#和%>字符之间.格式如下: <tagprefix:tagname property='<%# data-binding expression %>' runat="server" /> 或者如下: <%# data-binding expression %> ASP.NET 支持分层数据绑定模型,数据绑定表达式使用 Eval 和 Bind 方法将数据绑定到控件,并将更改提交

Devexpress 中控件及GridView控件的Cell增加右键复制功能

a) GridView中任何一个Cell增加右键复制功能GridHitInfo gridHitInfo = new GridHitInfo(); //用户接收GridView中单元格数据void gridView_MouseDown(object sender,  MouseEventArgs e){    if(e.Button == MouseButtons.Right)   { Point point = new Point(e.X, e.Y);      gridHitInfo = th

ASP.NET——GridView控件绑定数据

        ASP.NET提供了许多种数据服务器控件,用于在Web页面中显示数据库中的表数据,GridView控件就是其中之一.这个控件和我们以前学过的DataGridView控件几乎是一样的,所以对GridView控件我们也并不陌生,下面简单介绍一下它的使用.         前台: 在工具箱中找到GridView控件,并把它拖拽到代码编辑区域.   第一步,进入设计界面,在GridView控件上方有一个向右的黑色小三角,单击这个按钮,选择编辑列,如图:          第二步,去掉自动

Repeater, DataList, 和GridView控件的区别

http://blog.sina.com.cn/s/blog_646dc75c0100h5p6.html http://www.cnblogs.com/phone/archive/2010/09/15/1826891.html 1. GridView 控件 GridView 控件用于显示表中的数据.通过使用 GridView 控件,您可以显示.编辑.删除.排序和翻阅多种不同的数据源(包括数据库.XML 文件和公开数据的业务对象)中的表格数据. 显示表格数据是软件开发中的一个周期性任务.ASP.N