private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{ MyGrid.VirtualItemCount = 7;
BindGrid();
}}
{
if(!IsPostBack)
{ MyGrid.VirtualItemCount = 7;
BindGrid();
}}
调试欢乐多
怎么不生效呢在事件里设个断点,看看事件有没执行先
'Private Sub DatGrid_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DatGrid.PageIndexChanged
' DatGrid.CurrentPageIndex = e.NewPageIndex
' DatGrid.DataBind()
'End Sub
{
MyGrid.CurrentPageIndex = e.NewPageIndex;
MyGrid.DataBind();
}来试试,无理由不行的
你试试把DATAGRID属性里的"允许自定义分页"的钩去掉。最好在代码里定义DATAGRID的属性,比如allowpaging,pagesize,PagerStyle.Mode,PagerStyle.PageButtonCount等。
我的分页程序调出来了,但是还是有几点不明白:1.dataGrid 的分页与所绑定的数据源的类型是不是有关系?我先前用的是SqlDataReader,怎么调也不对;换成DataSet就可以了;2.从MSDN 看,dataGrid 的分页有自动分页(AllowPaging=true)和自定义分页(AllowCustomPaging=true)两种,我用前者调出来了,但是这种方式效率比较低。我在前面贴的代码是用自定义分页的,但是问题也在前面说了;据我理解,问题应该出在MyGrid_PageIndexChanged里的BindData();这一行,这里应该写另外一个带参数的BindData2(int pageSize,int pageNumber),返回的SqlDataReader result 本身就只包含需要在新页显示的数据,就是说分页是在执行数据查询时实现的。
但不能确定,不知谁有没有调试通过的例子???
自定义分页的目的就是只加载显示单页所需的数据段
建议你看看msdn帮助先
ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassallowcustompagingtopic.htm