GridView学习

      GridView是一款功能强大的数据绑定控件,用来绑定从数据库中读取的数据并且将其显示出来。

      GridView控件主要有以下常见属性

AllowPaging属性:设置是否启用分页功能。

AllowSorting 属性:设置是否启用排序功能。

AutoGenerateColumns 属性:设置是否为数据源中的每个字段自动创建绑定字段。这个属性默认为true,但在实际开发中很少会自动创建绑定列,我们总会根据一些情况让一些列不显示,比如显示用户列表的时候不会将用户密码显示出来,显示文章列表的时候不会将文章内容显示出来。因此我们经常不会将其设置为真,而且如果将其设置为真的时候我们会发现其列头部显示的是数据库的字段名,这也经常不符合我们的要求

Columns属性:获取 GridView 控件中列字段的集合。

PageCount属性:获取在 GridView 控件中显示数据源记录所需的页数。

PageIndex属性:获取或设置当前显示页的索引。

PagerSetting属性:设置GridView的分页样式。

PageSize属性:设置GridView控件每次显示的最大记录条数

GridView显示

显示7种类型的字段,它们分别是:

BoundField:绑定字段,以文本的方式显示数据。

CheckBoxField:复选框字段,如果数据库是bit字段,则以此方式显示。(如果对应的字段不是bit类型则会编译出错)

HyperLinkField:用超级连接的形式的显示字段值。

ImageField:用于显示存放Image图象的url字段数据,显示成图片效果。

ButtonField:显示按钮列。

CommandField:显示可执行操作的列,可以执行编辑或者删除等操作。可以设置它的ButtonType属性来决定显示成普通按钮、图片按钮或者超级链接。

TemplateField:自定义数据的显示方式,在这里我们可以使用我们所熟悉的HTML控件或者asp.net Web服务器控件。

补充说明: 

            1.HyperLinkField是用来设置当我单击该项的时候进行页面的转(经常用来显示某项的明细)这是要注意链接字符串的设置DataNavigateUrlFormatString属性Test.aspx?id={0}(这是其实默认使用了post提交方法)然后设置DataNavigateUrlFields属性为EmployeeID,而在Test.aspx?id={0}中的“Id”  和其没关系只是我们在相应的跳转页进行 Response.Write(Request.QueryString["id"].ToString())用到而已,但是为了命名的规范还是使用和该属性一样的命名最好,。

             2.ButtonField用以实现我们特定的单击鼠标时实现的功能,但是要设置CommandName,当我们在RowCommand事件编程中就可以通过e.CommandName来判断实现特定的功能。(因此我们可以得知上面的HyperLinkField实现的此控件也是可以实现的,只是其实现比较麻烦。但是此控件的好处就是我们可以设置其控件的类型并且可以相应添加图像)
             3.

              CommandField:显示可执行操作的列,可以执行编辑或者删除等操作。可以设置它的ButtonType属性来决定显示成普通按钮、图片按钮或者超级链接。

 因此没有必要通过2所描述来实现增删查改等动作,要实现这些操作用此控件就可以。

             4.GridView的 AutoGenerateDeleteButton等相关属性也可以实现上面的功能因此在对页面要求不是很美观的情况下可以用这个,其缺陷是不能设置样式等。其和第三条的响应事件是一样的Row_Deleting等相关事件来实现操作。

             总结自己的使用原则:

             1。AutoGenerateColumns设置为假

             2.显示方面统一用BoundField:绑定字段,以文本的方式显示数据。

             3.链接跳转不设置图片等用HyperLinkField,设置图片用其他方法。

             4.对于美工要求不规范,AutoGenerateDeleteButton可为真,要求严格使用  CommandField。

             5.对于ButtonField用来实现全选反选等操作。

            6.TemplateField用来实现上面不能实现的功能如DropDownList

posted @ 2010-07-17 16:29  雁北飞  阅读(248)  评论(0编辑  收藏  举报