使用List集合做数据源,并且使用AspNetPager来分页

AspNetPager 控件使用时,第一步就要在

if (!IsPostBack)
        {
              AspNetPager1.RecordCount =数据源记录总数;

            //bindData(); //使用url分页,只需在分页事件处理程序中绑定数据即可,无需在Page_Load中绑定,否则会导致数据被绑定两次
        }

第二步就是在 绑定数据源时,指定数据源中开始记录的索引与结束记录的索引,这样就可使用了

void bindData()

{

  Repeater1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure, ConfigurationManager.AppSettings["pagedSPName"],
            new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
            new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));
        Repeater1.DataBind();

}

问题:如果是用集合来做数据源,怎么办?处理办法利用PagedDataSource做数据源

假设下面例子getdata()返回的是泛型list

 void bind()
    {
       this.AspNetPager1.PageSize = 5;//分页控件每页显示记录数
       this.AspNetPager1.RecordCount = getdata().Count;//分页控件要显示数据源的记录总数

        PagedDataSource pds = new PagedDataSource ();//数据源分页
        pds.DataSource = getdata();//得到数据源
        pds.AllowPaging = true;//允许分页
        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;//当前分页数据源的页面索引
        pds.PageSize = AspNetPager1.PageSize;//分页数据源的每页记录数
        this.Repeater1.DataSource = pds;//指定为控件数据源
        this.Repeater1.DataBind();

           }
时间: 2024-11-29 08:32:37

使用List集合做数据源,并且使用AspNetPager来分页的相关文章

Asp.Net数据控件引用AspNetPager.dll分页

今天与大家分享一下"Asp.Net数据控件引用AspNetPager.dll分页"首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 第一步:首先是下载一个AspNetPager.dll 下载地址 http://files.cnblogs.com/tand

AspNetPager真假分页对比实例

从开始学习BS已经有一段时间了.对于BS的设计,都是进行的网页设计,其中包括从数据库中取出来的数据,显示在页面上.以前在CS中,都是使用GridView等表格控件进行显示,由于数据小,而且右侧又有滚轮.所以从来都没有考虑过给数据进行分页.所以这是一大失误.现在反应过来也不算晚.接下来,让我们接触一下分页. 不进行分页的弊端: 对于大数据的查询操作. 1.数据量太大,窗体载入时间太慢 2.显示的数据量太大,用户看起来不舒服. 分页的两种方式: 假分页: 在执行查询的时候,就把所有的数据都查询出来,

在全局对象(不是指针)的构造函数里不要对std集合做太多操作

写MaxvisionOnvif的时候,我用个宏把每个Command类注册到了CommandBuilder里面,通过全局对象初始化实现的,如下: void CommandBuilder::RegisterNewCommand(std::string cmd,FnCreateHandle cb) { m_allCommand.insert(std::pair<std::string,FnCreateHandle >(cmd,cb)); } #define NEW_HANDLE(classType)

java结合testng,利用XML做数据源的数据驱动示例

testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以XML为例: 备注:@DataProvider的返回值类型只能是Object[][]与Iterator<Object>[] TestData.xml: <?xml version="1.0" encoding="UTF-8"?> <data> <testmethod1> &l

C#部分---利用arraylist集合做滚动抽奖;

输入多个手机号码,放到集合中,进行三秒钟的滚动抽奖:随机显示号码,清空,再显示: 1.收集号码: 2.每隔三秒进行抽奖: 3.System.Threading.Thread.Sleep(3000);表示间隔三秒:

例题:用集合做总分平均分。比较好理解的一种做法。

static void  Main(string[] args) { ArrayList al = new ArrayList(); Console.Write("请输入人数"); int n = Convert.ToInt32(Console.ReadLine()); for (int i = 0; i < n; i++) { Console.Write("请输入第" + (i + 1) + "个人的分数"); int fenshu =

java结合testng,利用mysql数据库做数据源的数据驱动实例

上一篇我们介绍用如何用yaml结合testng做数据驱动,就又想来个数据库的参数化 备注:@DataProvider的返回值类型只能是Object[][]与Iterator<Object>[] 思路: 解析sql查询返回结果,然后把解析出来的list转换成Object[][]类型的数据,且结合在@DataProvider中. 然后把解析出来的list转换成Object[][]类型的数据,且结合在@DataProvider中. DbDataHeleper.java import org.test

C# 中DataGridView 绑定List&lt;T&gt;做数据源的操作问题

若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象, 然后直接将BindingList赋值给DataGridView.DataSource, 如此直接操作BindingList对象时,DataGridView的结果会动态随之更新. 1,绑定 List<UserClass> listUserClass = new List<UserClass>();BindingList

List&lt;T&gt;做数据源绑定的问题

List<C_Pinpai> lc;// = new List<C_Pinpai>(); private void BindGrid() { //if (lc.Count > 0) // lc.Clear(); lc = new List<C_Pinpai>(); if (Xml_Data.CoreDS.Tables["Product"].Rows.Count > 0) { foreach (DataRow dr in Xml_Data.