这是不可能的,你没有翻页处理!private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
 //分页函数
 DataGrid1.CurrentPageIndex=e.NewPageIndex;
 BindGrid();
}

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
                       {
                              BindGrid();
      }
    }在aspx页中要设置 datagrid的AllowPage 属性为 true
      

  2.   

    是否已经在属性生成器中设定分页了,是否见到分页的指示但是按下去没反映
    除了写上面的分页事件之外还有在pageload 事件中写上
    if ispostback then exit sub 写在所有pageload事件发生之前
      

  3.   

    public void DataGrid1_PageIndexChanged(Object sender, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) 
    {
        //DataGrid1.SelectedIndex=-1;(去掉此句)
    DataGrid1.CurrentPageIndex = e.NewPageIndex;
        
                BindGrid();

    }
      

  4.   

    楼上的,不对吧应该是这里出了问题:private void InitializeComponent()你把那个事件再关联一次函数,产生这样的语句就可以了:private void InitializeComponent()
    {
    ....
    this.DataGrid2.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid2_PageIndexChanged);
    ...
    }
      

  5.   

    在可视化界面里选择MyDataGrid,然后单击右健选择“属性生成器”,选择“分页”标签,选中“允许分页”,页大小10行,选中显示导航按钮,位置设成“上下型”,模式“下一页”,“上一页”按钮,按钮文本自己设!然后点击“确定”。然后选中MyDataGrid,在事件表里选择PageIndexChanged,双击鼠标左健,然后添加如下代码:
    private void MyDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
        MyDataGrid.CurrentPageIndex=e.NewPageIndex;
        BindGrid();
    }
      

  6.   

    InitializeComponent 有时会不知为什么自己丢失一些事件的关联,要注意才行
      

  7.   

    楼主是用C#的吧?其实你很幸福。因为DATAGRID在C#中有“事件”一个属性按钮在属性窗口中,把该控件的所有事件都列出来,你只要点击对应的事件就写入需要的代码即可,如PageIndexChanged()。可是VB.NET是没有这个"事件"按钮的。所以用VB写控件事件开始时常常要找帮助或开一个C#的项目来看看事件是怎么写的。
      

  8.   

    to missRainbowAgain(godness) 
    public void DataGrid1_PageIndexChanged(Object sender, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) 
    {
     DataGrid1.SelectedIndex=-1;(这一句是为了防止记录变化时出现的索引错误)
     DataGrid1.CurrentPageIndex = e.NewPageIndex;
     BindGrid();
     }这样改一下吧:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
     if(!IsPostBack) return;
     BindGrid();
    }