1)GridView绑定数据源控件,需要有编辑和删除选项按钮时,数据源控件必须提供SQ操作L语句或存储过程调用,一般,我的推荐做法是,使用无意义的SQL语句或存储过程来使GridView的编辑和删除按钮可以生成,具体的编辑更新和删除操作在代码运行时而不是在控件设计时指定,虽然多写了一点代码,但是对以后的扩展应用是很有好处的,建议所有的数据操作,不管是简单还是复杂的,都使用三层结构,这样从WEB到WIN之间的软件转换将十分轻松.而且,统一使用三层结构,虽然代码量会多一点,但是可控制性是相当好的,如果组织合理应用统一,这样的做法也是相当高效的.

2)可以指定GridView绑定列的ReadOnly属性为false,这样在编辑生效时,将不会将此列自动设置为textbox形式的可编辑控件.

3)使用GridView控件中的BoundField子控件可以绑定一个数据表的某个字段列,只要将BoundField控件的DataField属性设置为要绑定的数据表的字段名,如果是存储过程select返回的比如@A,那么就将DataField设置成A;并且,可以使用DataFormatString属性来格式化字段输出,注意,同时要将HtmlEncode属性设置为false;HeaderText属性则是GridView表现出来的字段名称,一般将其设置为中文字段名;要设置一些其他的样式属性,比如左对齐,背景色等,通过"样式"这个属性来选择设置;另外,如果绑定到字段的数据为空时显示的默认值,则可以通过设置NullDisplayText字段来显示.

4)要设置GridView的主键,可以在其DataKeyNames属性中设置.一般,如果数据源返回5个字段,如果想自动生成列,可使AutoGenerateColumns为true,如果要有选择的自己设置要显示的列或需要对显示的效果做设置,则先使AutoGenerateColumns为false,然后在GridView的编辑列选项操作中,自己使用BoundField控件的DataField属性设置为要绑定的数据表的字段名,并做相应的显示设置即可.

5)GridView有一些常用的事件,我在使用中经常用到的是:RowCommand(只要GridView控件中有按钮按下就会激发,并可找到是GridView的当前第几行),RowDeleting(删除前,做一些判断或准备工作,我建议直接在此处调用中间业务层的数据操纵服务方法,如果判断结果是删除操作不能进行,则可以设置e.cancel=true,则不会执行数据源控件中指定的SQL语句或存储过程),.RowDeleted(删除后,做一些善后工作),RowUpdating(更新前),RowUpdated(更新后),RowEditing(按编辑按钮时触发),Sorting(排序前),Sorted(排序后),SelectedIndexChanging(选择新行时,还没有做任何新动作前激发),SelectedIndexChanged(选择新行,并执行操作时激发). 需要注重说明的是,所有操作"前"激发的事件,都有"ing"后缀名,这里一般进行一些判断工作,判断操作的条件是否满足,如果满足,则其后执行设计时数据源控件的SQL语句或存储过程,但是,如果条件不满足,则可以使e.Cancel = true,这时将不会继续执行SQL语句和存储过程.

6)一般,ASP.NET控件都有一个专门处理客户端脚本的属性,此属性关联一些javaScript等的脚本代码,这些客户端脚本代码将最优先执行,来进行一些选择或判断,比如:javascript:event.returnValue = window.confirm("你真的想要删除该销售单吗?"),返回true,将正常运行此控件绑定的事件处理程序,如果返回false,则就好象没有点击此控件一样,并不会向下执行服务端代码.

7)GridView内部的一些按钮型控件(ButtonField),点击时触发的处理事件是相同的,可以通过设置CommandName属性的不同字符串来加以区分,如,在RowCommand事件中,可以通过e.CommandName属性来获取点击的特定ButtonField的CommandName是否与指定的字符串相同,从而进入不同的流程处理.

8)GridView的DataSource属性绑定到集合类型上,如:数组,泛型类,DataSet,DataTable等.而它的DataSourceID属性则绑定到特定的数据源控件上,如SqlDataSource,ObjectDataSource,XmlDataSource等.然后,调用DataBind()方法具体绑定数据,DataBind()前只是指定数据来源.

9)一个小技巧:当GridView绑定一个对象集合时,如果该对象的公开属性是英文,则GridView的列名也是英文,如果该对象的公开属性是中文,则GridView的列名也是中文,这个技巧可以不同设置GridView的相关属性而得到中文字段显示的GridView报表.在一些要求特殊的场合还是一个不错的解决方法.

转载于:https://www.cnblogs.com/RobotTech/archive/2006/12/13/590987.html

ASP.NET2.0 GridView小技巧汇粹 (转)相关推荐

  1. ASP.NET2.0 GridView小技巧汇粹

    1)GridView绑定数据源控件,需要有编辑和删除选项按钮时,数据源控件必须提供SQL操作语句或存储过程调用,一般,我的推荐做法是,使用无意义的SQL语句或存储过程来使GridView的编辑和删除按 ...

  2. asp.net2.0 GridView 导出到 Excel

    step 1: 在再这页的aspx文件<%@ Page Language="C#" AutoEventWireup="true"  %> 中加上En ...

  3. ASP.Net2.0小技巧 保持滚动条的位置 焦点移动到某个控件 $符号轻松的使用FindControl...

    您可能不知道的ASP.Net2.0小技巧 <!-- 页码和简介 --> 1.  在提交页面之后,保持滚动条的位置 可以在page指令上加上MaintainScrollPositionOnP ...

  4. ASP.NET2.0小技巧--内部控件权限的实现

    谈<内业办公自动化>(可以到http://www.aspx-net.com/测试)的实现技巧之一:     在使用ASP.NET2.0的身份验证和授权时,有时候我们需要提供比页面更高一级的 ...

  5. ASP.NET2.0 永恒密码之戒【月儿原创】

    ASP.NET2.0 永恒密码之戒 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.8 1.我们经常有这样的情形: 就是用户 ...

  6. 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】

    ================================ 欢迎转载,但是请注明出处.本文出自博客园 .谢谢合作! ================================ 最新版本:V ...

  7. ASP.NET2.0实现无刷新客户端回调

    Asp.Net2.0的客户端回调是一种很让人激动的方法,他能够让我们控制要提交什么数据给服务器而不用提交整个页面,同时服务器也只返回你所需要的数据而不要发回整个页面. 首先我们要说一个很重要的方法:G ...

  8. ASP.NET2.0 永恒密码之戒

    ASP.NET2.0 永恒密码之戒 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 1.我们经常有这样的情形: 就是用户注册时由于某个信息填写错误要重新填写.但是这 ...

  9. ASP.NET2.0 永恒密码之戒(zz)

    ASP.NET2.0 永恒密码之戒 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.8 1.我们经常有这样的情形:就是用户注 ...

  10. [转]ASP.NET1.0升级ASP.NET2.0问题总结

    来自:http://www.enet.com.cn/article/2006/0310/A20060310510518.shtml 1.Global.asax文件的处理形式不一样,转化后将出现错误 在 ...

最新文章

  1. Push代码:Git@github.com: Permission denied (publickey)
  2. Jq将字符串复制粘贴到剪贴板
  3. /proc/sys/net/ipv4 详解2
  4. 服务器控件在客户端触发alert对话框后,根据情况进行回发服务器操作
  5. MySQL5.6优化了Order by排序limit
  6. pyqt5-控件是否可用
  7. ocs添加仓库受限问题
  8. AcWing 869. 试除法求约数(枚举)
  9. C语言栈的push函数,关于栈的有关问题。为什么Push函数top始终是NULL
  10. inceptor-plsql 系统预定义函数/过程
  11. [分享]四杂.cn中未被注册的好组合
  12. ubuntu安装文泉驿字体
  13. 〖教程〗Ladon免杀/.NET免杀/Exe2Ps1/Ps12Exe
  14. Centos虚拟机桥接模式无法连接外网的解决
  15. 【JZOJ 4623】搬运干草捆
  16. java基础,鼠标拖动拼图_使用UGUI实现拖拽功能(拼图小游戏)
  17. 2908. Annoying painting tool
  18. 二项树(binomial tree)
  19. php 联合查询,多表联合查询
  20. 网络中常用的各种协议名称(中英文)和具体含义

热门文章

  1. c 连接mysql通用_用C语言操作MySQL数据库的通用方法
  2. js字符串编码和unicode编码互转
  3. python进阶12 Redis
  4. 数据结构10——强连通
  5. 使用Water-Scrum-Fall交付软件
  6. 【DATAGUARD】 基于同一个主机建立物理备库和逻辑备库(二)
  7. 80sec被黑原因分析
  8. AJAX技术开发Back按钮问题的应用程序
  9. UGUI直接修改Image的Color和用unity自带的UI Shadr修改_Color属性的区别
  10. 用python股票_十分钟学会用Python交易股票