不会出现的吧,你要重新绑定,绑定代码方在
if (!Page.Ispostback)
{
   bindnew();//绑定datagrid的函数;
}private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
bindnew();//重新绑定
}

解决方案 »

  1.   

    给你一个例子:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    using System.Configuration;namespace itsytu01.itadmin
    {
    /// <summary>
    /// delnews 的摘要说明。
    /// </summary>
    public class delnews : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid shownews;
    protected System.Data.SqlClient.SqlCommand cm;
    protected System.Data.SqlClient.SqlConnection cn;
    protected System.Data.SqlClient.SqlDataAdapter da;
    protected System.Data.DataSet ds;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
    {
    bindgrid();
    } } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.shownews.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.shownews_PageIndexChanged);
    this.shownews.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.shownews_DeleteCommand);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion public void bindgrid()
    {
    cn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    string strSQL="SELECT newsid, newstitle, newsuptime, newsclick, newstype, newsfrom FROM news WHERE (newstype = '最新新闻') ORDER BY newsuptime DESC";
    da=new SqlDataAdapter(strSQL,cn);
    cn.Open();
    ds=new DataSet();
    da.Fill(ds);
    shownews.DataSource=ds;
    shownews.DataBind();
    } private void shownews_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    shownews.CurrentPageIndex=e.NewPageIndex;
    bindgrid();
    } private void shownews_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    cn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    string strSQL="delete from news where newsid=@newsid";
    cm=new SqlCommand(strSQL,cn);
    cm.Parameters.Add(new SqlParameter("@newsid",SqlDbType.BigInt,8));
    cm.Parameters["@newsid"].Value=shownews.DataKeys[(int)e.Item.ItemIndex];
    cm.Connection.Open();
    cm.ExecuteNonQuery();
    cm.Connection.Close();
    bindgrid();
    }
    }
    }
      

  2.   

    那么在换页的pageindexchange事件中如何绑定呢?
      

  3.   

    这是一个删除的例子,你主要看看其中的Page_Load、PageIndexChanged、DeleteCommand事件。
      

  4.   

    private void shownews_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    shownews.CurrentPageIndex=e.NewPageIndex;
    bindgrid();//重新绑定数据到DataGrid
    }
    其中得bindgrid()即:
    public void bindgrid()
    {
    cn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
    string strSQL="SELECT newsid, newstitle, newsuptime, newsclick, newstype, newsfrom FROM news WHERE (newstype = '最新新闻') ORDER BY newsuptime DESC";
    da=new SqlDataAdapter(strSQL,cn);
    cn.Open();
    ds=new DataSet();
    da.Fill(ds);
    shownews.DataSource=ds;
    shownews.DataBind();
    }
      

  5.   

    Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
     DataGrid1.CurrentPageIndex = e.NewPageIndex
    '重新帮定
            DataBind()
        End Sub
      

  6.   

    其实这个问题就是,显示了一列用户,我想点没个用户后的“详细信息”就得到这用户的id,根据这个id去查询该用户的详细信息!但我得不到这个id
      

  7.   

    你是用DataGrid.DataKeys[e.Item.ItemIndex]吗?
    该用
    int index =e.Item.ItemIndex+DataGrid.PageSize*DataGrid.CurrentPageIndex