生成DLL调用
分页控件与gridview独立
设置changed事件设置gv.pageindex=控件.pageindex.
binddata();
在binddata中设置控件的recordcount
看看aspnetpager

解决方案 »

  1.   

    使用委托,在用户控件中定义
    public delegate void SendPage(DataPage pager);//定义委托
        public event SendPage sendPager;//定义事件
    //使用
    if (sendPager != null)//触发事件
                sendPager(page);在父页面中
    <uc3:Pager ID="Pager1" runat="server" OnsendPager="SetDataSource" />
    public void SetDataSource(DataPage page)
        {
            string categoryId = Request.QueryString["Id"];
            if (!string.IsNullOrEmpty(categoryId))
            {
                //根据类型Id获得软件
                this.ReapterList.DataSource = DetailOfSoftWareBll.GetDetailInfoByCategoryId(page, Convert.ToInt32(categoryId));
                this.ReapterList.DataBind();
            }
        }以上只是举一个例子,方法需要自己修改下。
      

  2.   

    自己写分页控件后,那gridview变只是一个显示的容器罢了,你点击下一页,肯定重新获取数据集,重新绑定一下给Gridview容器对象不就成啦?
      

  3.   

    你说的没错,但是问题也就出现在这里,我也卡在这里了,你怎么获得绑定GridView事件呢??我一直都在问这个问题呀,你说的我上面都已经实现了啊
      

  4.   


    我倒是让你给搞晕了,你自己写分页控件,那不是应该独立出来的吗?使用独立的分页控件,你的Gridview控件本身就不允许分页(分页属性值为false),也就是说,Gridview控件本身永远都是第1页的吗?不明白你要获取Gridview的哪些事件?
    我打个比方,假如你现在使用第三方分页组件AspNetPager,那么你的getdata()里只要负责获取当前页号和每页显示多少条这几个参数值就可以了,你每次到数据库里获取数据集,再重新绑定Gridview控件,这样就独立开来了嘛