我的控件直接从CompositeControl继承,不与数据列表控件如RepeaterList等绑定,默认从配置文件自动设置页面大小,从数据库读取当前记录总数,也能自己在初始化时进行设置,主要功能是设置自身导航界面的状态,向外提供该次分页的数据信息:记录总数、当前页码、页面总数、当前要绑定数据的起始记录号(与SQL Server 2005的ROW_NUMBER() OVER使用很方便),从而通过它的属性从外部读出数据绑定到任一可绑定数据控件,代码如下:
上面获取记录总数的存储过程如下:
该控件使用如下:
1.添加对该控件dll的引用,并在页面中添加引用:
dnArticleList.ObjectName = "文章";
dnArticleList.ObjectQuantifier = "篇";
dnArticleList.TableName = "Articles";
dnArticleList.Filter = " AND UserID = '" + strUserID + "'";
dnArticleList.PageIndex = 1;
3.控件初始化
根据自己的需要在初始化的时候(一般是Page_Load中)对导航控件的属性进行设置,如需要重新设置,可设置完其属性后,调用它的SetNavigatorPage()方法生效,比如重新设定过滤条件的时候。
翻页的时候需要根据它的属性值重新绑定你的数据到RepeaterList等数据列表控件。