请教,使用gridview绑定数据分页.执行第一次程序时gridview1显示全部数据,分页操作正常.当选择dropdownlist1值时,gridview1显示符合所选dropdownlist1值的数据,显示第一页正常,当点击第二页时就链接到显示全部数据时的第二页,下一页也是同样情况,应该是链接代码中没有dropdownlist条件,在哪儿写这个条件?怎么解决?初学者,请各位多多指教

解决方案 »

  1.   

    应该是你的PageIndexChanged事件中GridView的数据源绑定的时候绑定的是你去全部的时候的数据,在选择DropDownList之后需要将GridView的数据源绑定为新的数据源,在PageindexChanged的时候也需要绑定新的数据源。
      

  2.   

    知道原理,就是不知道怎么新的数据源?
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {            GridView1.PageIndex = e.NewPageIndex;
                bind();
                //GridView1.DataBind();
        }   public void bind()
        {
            OleDbConnection oc = new OleDbConnection("provider=microsoft.jet.oledb.4.0;persist security info=false;data source='" + Server.MapPath("db_manage.aspx") + "'");
            string sqlstrstr = "select * from t_xxzl";
                if (choosestr != "")
                {
                    sqlstrstr = sqlstrstr + " where leibie='" + choosestr + "'";
                }
                    oc.Open();
                    OleDbDataAdapter oa = new OleDbDataAdapter(sqlstrstr, oc);
                    DataSet ds = new DataSet();
                    oa.Fill(ds, "t_xxzl");                    GridView1.DataSource = ds;
                        GridView1.DataKeyNames = new string[] { "id" };
                        GridView1.DataBind();               oc.Close();