当前位置:编程学习 > C#/ASP.NET >>

求救~gridview查询结果分页的问题

显示所有数据时点分页正常,但是查询之后点下一页,就又显示所有数据了.
怎么解决阿~??? --------------------编程问答-------------------- 那是因为` 你的查询语句里边需要加个查询判断条件! --------------------编程问答-------------------- 晕,我也想不通,
怕大家看见你的代码迈? --------------------编程问答-------------------- 没代码..不好说
--------------------编程问答-------------------- try
        {
            conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(str, conn);
            DataSet set = new DataSet();
            da.Fill(set);
            gvState.DataSource = set;
            gvState.DataBind();
        }
        catch (Exception ex)
        {
            throw ex;
        }
protected void gvState_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvState.PageIndex = e.NewPageIndex;
        gvState.DataBind();
    }
我觉得点击下一页触发事件又把所有数据绑定上了 该怎么解决呀~~~~~ --------------------编程问答-------------------- 重新绑定下数据 --------------------编程问答-------------------- 没解决阿.... --------------------编程问答-------------------- 事件 PageIndexChanging 需要重新获取 DataSource 再绑定


》》》

gvState.PageIndex = e.NewPageIndex;
gvState.DataSource = GetMyDataSource(); // 执行读取数据
gvState.DataBind(); --------------------编程问答-------------------- 快来人啊 急死了 --------------------编程问答-------------------- 楼上的说得对1!你必须重新绑定以下GridView的DataSource 
也就是:
protected void gvState_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvState.PageIndex = e.NewPageIndex;
try
        {
            conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(str, conn);
            DataSet set = new DataSet();
            da.Fill(set);
            gvState.DataSource = set;
            gvState.DataBind();
        }
        catch (Exception ex)
        {
            throw ex;
        }


    }
这个就行了 --------------------编程问答-------------------- 把查询后的datasource Cache起来不就的了,不然每次分页取数据加重数据库负担 --------------------编程问答-------------------- 2天了。。。 还没解决  救命啊~~~~~~~ --------------------编程问答-------------------- 我的做法是把查询后的datasource 放在session里,用这个session做gridview --------------------编程问答-------------------- 我也遇到楼主同样的问题,请高手相助。 --------------------编程问答--------------------
        public void BindGridView()
        {
            try 
                { 
                        conn.Open(); 
                        SqlDataAdapter   da   =   new   SqlDataAdapter(str,   conn); 
                        DataSet   set   =   new   DataSet(); 
                        da.Fill(set); 
                        gvState.DataSource   =   set; 
                        gvState.DataBind(); 
                } 
                catch   (Exception   ex) 
                { 
                        throw   ex; 
                } 

        }
        protected void gvState_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvState.PageIndex = e.NewPageIndex;
            BindGridView();
        } 

调用绑定的函数才是重新绑定,不是叫你调用GridView绑定的方法
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,