要想自定义分页就必须在页面创建时写分页代码.
也就是在RowCreated事件中,判断创建的行是什么类型的行,可以用e.Row.RowType来获得行的类型.
GridView 创建行的流程是:Pager-Header-DataRow-DataRow...-Footer-Pager
所以只要判断创建的行类型是Pager就是分页行.然后再进行操作.语句是:
if
(e.Row.RowType.ToString()
==
"
Pager
"
)
... {
//清空原先页面的内的控件
e.Row.Cells[0].Controls.Clear();
//再动态的创建自己想要的控件如:
Button btn_PrePage = new Button();
//你可以为你的控制添加事件
btn_PrePage.Click += new EventHandler(btn_PrePage_Click);
//然后添加控件到页面行
e.Row.Cells[0].Controls.Add(btn_PrePage);
}
... {
//清空原先页面的内的控件
e.Row.Cells[0].Controls.Clear();
//再动态的创建自己想要的控件如:
Button btn_PrePage = new Button();
//你可以为你的控制添加事件
btn_PrePage.Click += new EventHandler(btn_PrePage_Click);
//然后添加控件到页面行
e.Row.Cells[0].Controls.Add(btn_PrePage);
}
//
当你创建事件时"+="完按两次Tab键.系统会自动创建如下事件代码:
void btn_PrePage_Click( object sender, EventArgs e)
... {
//事件处理的代码
}
void btn_PrePage_Click( object sender, EventArgs e)
... {
//事件处理的代码
}
如果同时有头部页面行跟尾部页面行你加个标记来判断就行了.如果你的控件有反回值操作的时候(如文本框)那要用委托来实现.