因为我是在一个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事件。
是怎么回事呢?
先下了,晚上上来看结果,希望大家能给个答案。谢谢。
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事件。
是怎么回事呢?
先下了,晚上上来看结果,希望大家能给个答案。谢谢。
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,然后去翻页,如何能让它翻页时执行翻页事件呢?