027. asp.net中数据绑定控件之 GridView控件

时间:2023-01-25 17:26:50

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

示例代码:

 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控件的更多相关文章

  1. ASP&period;NET中的FileUpload文件上传控件的使用

    本篇文章教大家如何将客户端的图片或者文件上传到服务器: 无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等). 第一步:放入以下三个控件 Image控件,Fi ...

  2. 数据绑定技术一:GridView控件

    在网站或应用程序中,要显示数据信息,可用到ASP.NET提供的数据源控件和能够显示数据的控件. 一.数据源控件 数据源控件用于连接数据源.从数据源中读取数据以及把数据写入数据源. 1.数据源控件特点 ...

  3. ASP&period;NET编辑与更新数据&lpar;非GridView控件实现&rpar;

    Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与 ...

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

    说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...

  5. ASP&period;NET中多个相同name的控件在后台正确取值

    有兽,   页面上可能有多个相同name的Html表单控件,   一般在后台使用Request.Form[“name”]取值,并用‘,’分隔.   但是当值中包含逗号时,   取值就会出现异常,   ...

  6. ASP&period;NET中数据绑定表达式

    今天谈下.NET中的数据绑定表达式.数据绑定表达式必须包含在<%#和%>字符之间.格式如下: <tagprefix:tagname property='<%# data-bin ...

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

    a) GridView中任何一个Cell增加右键复制功能GridHitInfo gridHitInfo = new GridHitInfo(); //用户接收GridView中单元格数据void gr ...

  8. Repeater&comma; DataList&comma; 和GridView控件的区别

    http://blog.sina.com.cn/s/blog_646dc75c0100h5p6.html http://www.cnblogs.com/phone/archive/2010/09/15 ...

  9. GridView控件

    GridView是ASP.NET 1.x的DataGrid控件的后继者.它提供了同样的基本功能集,同一时候添加�了大量扩展和改进.如前所述,DataGrid(ASP.NET 2.0仍然全然支持)是一个 ...

随机推荐

  1. iOS-开发者相关的几种证书

    目录 引言 写在前面 一App IDbundle identifier 二设备Device 三开发证书Certificates 证书的概念 数字证书的概念 iOS开发证书 iOS开发证书的根证书 申请 ...

  2. highcharts 统计的样式

    highcharts 官网:http://www.hcharts.cn/

  3. C&num;中value是什么意思

    value是c#中的“属性”例如c#某个类中有一个成员变量(字段),为了安全性,外部如果要访问它,必须通过“属性”来访问:private int _id;//这是一个成员变量,private表示是私有 ...

  4. java面试每日一题8

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1 ...

  5. Java笔记&lpar;二十八&rpar;&hellip&semi;&hellip&semi;IO流下 IO包中其他常用类以及编码表问题

    PrintWriter打印流 Writer的子类,既可以接收字符流,也可以接收字节流,还可以接收文件名或者文件对象,非常方便 同时,还可以设置自动刷新以及保持原有格式写入各种文本类型的print方法 ...

  6. 获取URL中的参数值

    //获取url中ID的值function getParamByName(name, url) { var match = RegExp('[?&]' + name + '=([^&]* ...

  7. 设置某个类使用或者禁用ARC

    设置这个类为ARC的 用:-fobjc-arc    设置这个类非ARC的:-fno-objc-arc 工程是非ARC的,但是引用的第三方类库是ARC的,所以要使用的时候,要单独设置这个第三方的类是A ...

  8. 移动 web 适配

    一.移动 web 开发与适配 1.跑在手机端的 web 页面(H5 页面) 2.跨平台(PC 端.手机端 - 安卓.IOS) 3.基于 webview(终端开发技术的一个组件) 4.告别 IE 拥抱  ...

  9. &lbrack;hgoi&num;2019&sol;2&sol;24&rsqb;玄学考试

    感想 对于这次考试,真的不想说什么了,太玄学了!!! t1输出比标准输出长,这是什么操作???难道要关文件???但是交到oj上又A掉了.这是什么操作. t2还好,没有出什么意外...但是要吐槽一下出题 ...

  10. Hibernate映射 --- 自身跟自身的一对多关联

      自身跟自身的一对多关联 什么时候会出现自身一对多关系呢?下面举个例子. 淘宝店里商品分类,一级分类:家用电器,个人化妆,运动户外等 家用电器下面二级分类:大家电,生活电器,厨房电器等 二级分类大家 ...