creazygirl

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

默认导航按钮的默认分页模式:
错误提示:
当AllowPaging 设置为真并且选定的数据源不实现ICollection 时,AllowCustomPaging 必须为真,并且 ID 为 DataGrid1 的 DataGrid 必须设置VirtualItemCount。
解决方法:
1、因为datagrid控件的数据源实现了ICollection接口的情况下启用分页功能,而datareader没有实现这个接口,所以不能实现。
2、“当AllowPaging设置为真并且选定的数据源不实现ICollection时,..”的意思是说你当起用分页的时候,datasource必须是能实现icollection接口的对象。一般datatable,dataview都可以,但datareader不可以。
通过2的提示得到了解决,因为我将数据源设置为datareader了,改了以后就可以了!

知识点:
1、DataGrid1.PagerStyle.Mode=PagerMode.NextPrev;设置分页以上一个下一个的方式实现; DataGrid1.PagerStyle.Mode=PagerMode.NumericPages;设置分页以12等数字显示方式实现;
2、DataGrid1.CurrentPageIndex=e.NewPageIndex;用pageindexchange方法然后将newpageindex的值给currentpageindex;即实现分页功能,然后将数据源绑定到datagrid,即会显示分页后的结果。

-----------------------------------------------
session 和 viewstate 的比较 
                                session     viewstate
占用服务器资源    true        false
time out                    true        false
存储任何.net类型   true        false(只支持strings, integers, Booleans, arrays, ArrayList, hashtable, custom TypeConverters)
加重html负载          false       true
session 对整个application 有效 ,而 viewstate相当于某个页面的session

定义 viewstate
// save in ViewState
ViewState["SortOrder"] = "DESC";
// read from ViewState
string sortOrder = (string)ViewState["SortOrder"];

posted on 2006-05-31 11:57  久久  阅读(515)  评论(0编辑  收藏  举报