求救~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