各位高手帮忙看看,代码如下:
private void BindGrid()
{         SqlConnection conn=new SqlConnection("Persist Security Info=False;database=EXAMP;server=(local);Connect Timeout=10;User=sa;Password=admin;");
conn.Open();
SqlDataAdapter Cmd = new SqlDataAdapter("select * from FillVc ",conn);
DataSet ds=new DataSet();
            Cmd.Fill(ds,"FillVc");
DataGrid1.DataSource=ds.Tables["FillVc"].DefaultView;
DataGrid1.DataBind();
  }
    private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) { }


private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
    startIndex=e.NewPageIndex*DataGrid1.PageSize;
DataGrid1.CurrentPageIndex=e.NewPageIndex;
BindGrid();
}
private void InitializeComponent()
{    
this.DataGrid1.SelectedIndexChanged += new System.EventHandler(this.DataGrid1_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load); }
  private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
  startIndex=0;
}
BindGrid();
}

解决方案 »

  1.   

    能显示第一页  但无法翻页  是不是DataGrid的属性设置有错
      

  2.   

    private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    DataGrid1.CurrentPageIndex=e.NewPageIndex;
    BindGrid();
    }
    http://singlepine.cnblogs.com/articles/266538.html
      

  3.   

    不清楚你那个startIndex起什么作用的,反正startIndex在页面回发后没有保存状态,默认每次进来都为0(你翻页引起的回发才有值,但其他回发为0;如果你想随时使用startIndex,建议用ViewState或Session等在每次翻页后保存startIndex,回发后恢复)
    ------以下代码分页无问题-----
    protected void Page_Load(object sender, EventArgs e)
    {
        BindGrid();
    }protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
    {
        DataGrid1.CurrentPageIndex = e.NewPageIndex;
        DataGrid1.DataBind();
    }
    private void BindGrid()
    {
        //略
        DataGrid1.DataSource = 。//略
        DataGrid1.DataBind();
    }==== 
    ~~~~ 我的Blog:http://blog.csdn.net/quou2002 
      

  4.   

    DataGrid1.DataSource=ds.Tables["FillVc"].DefaultView;
    改为
    DataGrid1.DataSource=ds.Tables["FillVc"];
    试试