因为我是在一个TAB控件中,动态生成很多个GridView,所以代码写在这个TAB控件数据绑定事件里。
 protected void TabStrip1_TabDataBound(object sender, Telerik.WebControls.TabStripEventArgs e)
        {
            PageView pageView = new PageView();
            pageView.ID = e.Tab.Text;
            //Literal l = new Literal();
            //l.Text = e.Tab.Value;
            GridView grid = new GridView();
            grid.ID = "grid" + e.Tab.Value;
            grid.PageSize = 2;
            grid.AllowPaging = true;
            grid.AutoGenerateColumns = false;
          
            grid.PagerSettings.Mode = PagerButtons.Numeric;
            grid.ShowHeader = false;
            TemplateField customField = new TemplateField();
            customField.ShowHeader = false;
           
            grid.Columns.Add(customField);            DataTable dt = createDataTable(e.Tab.Value);
            dt.TableName = "table" + e.Tab.Value;
            //dv["dt"] = dt;
            counts = counts + dt.Rows.Count;
            pageView.Controls.Add(grid);
            RadMultiPage1.PageViews.Add(pageView);
            grid.PageIndexChanging += new GridViewPageEventHandler(grid_PageIndexChanging);
            grid.DataSource = (DataTable)dt;
            grid.DataBind();
        }
        protected void grid_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {            GridView gridview1 = (GridView)sender;
            gridview1.PageIndex = e.NewPageIndex;
            DataTable dt = createDataTable(TabStrip1.SelectedTab.Value);
            if ((dt != null))
            {
                gridview1.DataSource = dt;
                gridview1.DataBind();
            }        }
可是我跟踪事件,在点击翻页时却根本就没有触发grid_PageIndexChanging事件。
是怎么回事呢?
先下了,晚上上来看结果,希望大家能给个答案。谢谢。

解决方案 »

  1.   

    TabStrip1_TabDataBound 方法必须在每次提交的时候都执行..
      

  2.   

    TabStrip1_TabDataBound 方法必须在每次提交的时候都执行..
      

  3.   

    光写上时间处理程序白搭,还得委托上,VS下,双击一个Button不仅仅是让你写处理事件,系统生成的一个分部类里还有  什么+=什么  的,就是注册上.
      

  4.   

    grid.PageIndexChanging +=new GridViewPageEventHandler(grid_PageIndexChanging);
                grid.PageIndexChanging += delegate(object gs, GridViewPageEventArgs ge)
                {
                    //GridView gridview1 = (GridView)gs;
                    //gridview1.PageIndex = ge.NewPageIndex;
                    //DataTable tb = createDataTable(RadTabStrip1.SelectedTab.Value);
                    //if ((tb != null))
                    //{
                    //    gridview1.DataSource = tb;
                    //    gridview1.DataBind();
                    //}
                    grid.PageIndex = ge.NewPageIndex;
                    grid.DataSource = dt;
                    grid.DataBind();
                };
    在TabStrip1_TabDataBound事件中分别用以上两种添加翻页事件,都不能执行翻页。如何办?
    另外,各位说的好像也不行。
    因为我是在TabStrip1_TabDataBound事件时,动态产生了GRIDVIEW,然后去翻页,如何能让它翻页时执行翻页事件呢?