ASP.NET2.0---GridView控件学习

来源:互联网 发布:淘宝卖家第三层级 编辑:程序博客网 时间:2024/05/29 14:55

使用 GridView 控件进行数据绑定


GridView 控件提供了两个用于绑定到数据的选项:
使用 DataSourceID 属性进行数据绑定,此选项使您能够将 GridView 控件绑定到数据源控件。建议使用此方法,因为它答应 GridView 控件利用数据源控件的功能并提供了内置的排序、分页和更新功能。当使用 DataSourceID 属性绑定到数据源时,GridView 控件支持双向数据绑定。除可以使该控件显示返回的数据之外,还可以使它自动支持对绑定数据的更新和删除操作。
使用 DataSource 属性进行数据绑定,此选项使您能够绑定到包括 ADO.NET 数据集和数据读取器在内的各种对象。此方法需要为所有附加功能(如排序、分页和更新)编写代码。
----------------------------------------------------------------------

SqlConnection myCon = new SqlConnection(connectString);
myCon.Open();
string sqlStr = "select * from authors";
SqlDataAdapter myAdapt = new SqlDataAdapter(query, myCon);
DataSet myDataSet = new DataSet();
myAdapt.Fill(myDataSet);
GridView1.DataSource=myDataSet.Tables[0];    //这里指定GridView的数据源
GridView1.DataBind();    //绑定

Q:我这样绑定了 怎么没有显示呢 列和行我看了都有值啊 怎么页面上是空白呢?

A:晕 自动生成列 设置成false了 解决了

----------------------------------------------------------------------

AJAX应用:

只要将GridView的“EnableSortingAndPagingCallbacks”属性设置为True就可以了,随后,Callback异步的能力会立即产生作用,表现在分页(Page)与排序(Sorting)两个地方,各位在运行GridView的分页与排序时会发现速度不但变快,且消除了传统Postback操作及界面闪动,小小的设置即能够产生不少效益

GridView分页外观设置:

表9-17是GridView分页外观相关的属性设置,如设置分页导航区按钮图片等。

表9-17 分页相关属性

分页属性

说 明

PageIndex

获取或设置显示数据行的索引

PagerSettings

设置DetailsView控件中页面导航区按钮的属性

PagerStyle

设置DetailsView控件中页面导航栏的外观

DataGrid控件无论是1.0或2.0版本的分页都只能用数字或符号来表示,但以目前网页设计愈来愈精美的趋势来看,这样的水准并不符合程序员与用户的期待,故GridView控件提供了更多分页设置的能力,以符合新时代需求,例如可以用美观的图片来替代数字或符号,用户在观感上也会觉得比较舒服精致。并且GridView又多划分出一个PagerSettings属性,比起以前多了几个图片ImageUrl属性(见表9-18)。

表9-18 PagerSettings分页属性ImageUrl

PagerSettings

说 明

FirstPageImageUrl

第一页按钮所用图片的Url

PreviousPageImageUrl

上一页按钮所用图片的Url

NextPageImageUrl

下一页按钮所用图片的Url

LastPageImageUrl

最后一页按钮所用图片的Url

ASP.NET2.0---GridView控件学习 - jinglikeblue - jinglikeblue 的博客 范例9-17 设置GridView控件的分页

在此示范如何设置分页按钮图片,并结合EnableSortingAndPagingCallbacks的分页异步能力。请参考Pager.aspx程序,步骤说明如下。

ASP.NET2.0---GridView控件学习 - jinglikeblue - jinglikeblue 的博客 设置GridView分页的ImageUrl属性图片

请指定GridView的分页ImageUrl属性,相关图片则在Images目录中可找到,设置如下:

l 请设置FirstPageImageUrl属性为“~/Images/First.gif”。

l 请设置PreviousPageImageUrl属性为“~/Images/Previous.gif”。

l 请设置NextPageImageUrl属性为“~/Images/Next.gif”。

l 请设置LastPageImageUrl属性为“~/Images/Last.gif”。

l 将PageSize属性设置为5。

ASP.NET2.0---GridView控件学习 - jinglikeblue - jinglikeblue 的博客 启用分页的Callbacks异步能力

请将GridView的EnableSortingAndPagingCallbacks属性设置为True,完成后网页运行结果如图9-50所示。

然而分页默认只能在数字与图片之间二选一,而图片也无法知道在哪一页会令用户困扰,所以比较好的做法是不但显示按钮图片,连同显示目前所在分页的索引及总分页数一同显示才是最好的,如图9-51所示,但怎么做呢?不告诉你!哈!先在本章不讲,下一章程序设计时才会讲,因为本章着重于应用面,各位先熟悉GridView各部分功能的操作,程序设计时才有足够的知识观念来思考。

ASP.NET2.0---GridView控件学习 - jinglikeblue - jinglikeblue 的博客

图9-50 GridView分页按钮图片

ASP.NET2.0---GridView控件学习 - jinglikeblue - jinglikeblue 的博客

图9-51 GridView分页按钮图片及页码

8GridView对EmptyDataRow空值的处理

GridView有个小地方我非常欣赏,就是它能够自动应付null值及空字符串。以往在DataGrid或Table控件时,若数据源有非预期的空值出现,网页就等着当掉吧!故为了克服这个弱点,您必须在程序中自行加入很多Try...catch异常处理来防止系统出错,但若DataGrid或Table使用到很多自行定义的细节方法,一堆Try...catch不但麻烦,且真的很碍眼。

而GridView针对空的数据行(EmptyDataRow)可以用替代的文字或模板来显示,其对应的属性为EmptyDataText与EmptyDataTemplate,这样替程序员省却不少空值的防呆程序代码,各位可以多加利用。

ASP.NET2.0---GridView控件学习 - jinglikeblue - jinglikeblue 的博客如果EmptyDataTemplate与EmptyDataText两个属性同时设置,则EmptyDataTemplate优先作用。

原创粉丝点击