日期:2014-05-19  浏览次数:20502 次

100分--急
实在是没办法了。这个问题问了2天了。
为什么分页只显示第一页,点下一页就没数据。
如果将bind()里面的参数和button里面的onclik去掉的话。button就失效了。
各位大哥帮我一下啊。我这个是自学的。谁能帮我解决了。我每天帮他刷100分都没问题。
<script   runat= "server "   language= "c# ">
protected   void   Page_Load(object   sender,   EventArgs   e)
{
  if(!IsPostBack)
    {
        //这里是页面默认打开数据,用DataGrid显示数据。
      }
else
  {
    bind();
  }  
}

private   void   bind(object   sender,   EventArgs   e)
{
//这里用搜索来显示数据。也用的用DataGrid显示数据
}

public   void   MyDataGrid_Page(object   sender,   System.Web.UI.WebControls.DataGridPageChangedEventArgs   e)
{
//分页
  dgrdMain.CurrentPageIndex   =   e.NewPageIndex;
  DataBind();
}
<asp:Button   ID= "Button1 "   Text= "开始查询 "   runat= "server "   />
<asp:DataGrid   ID= "dgrdMain "……>
<PagerStyle       NextPageText= "下一页 "   PrevPageText= "上一页 "> </PagerStyle>
</asp:DataGrid>

------解决方案--------------------
private void bind(object sender, EventArgs e)

bind();

DataBind();

什么意思啊?
------解决方案--------------------

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//这里是页面默认打开数据,用DataGrid显示数据。

}


另外搜索出来的就别放在这里了,
加在按钮的onclick事件里


------解决方案--------------------
写法有问题!!设计的就不合理.
private void Bind()
{
if(condition)
{
sql= "......... ";
}
else
{
sql= "......... ";
}
//绑定gridview
}
public void MyDataGrid_Page(object sender, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
//分页
dgrdMain.CurrentPageIndex = e.NewPageIndex;
Bind();
}


------解决方案--------------------
1、LZ不应该拿分来引诱,特别是违规的举动

2、分页整体思路有问题

I.创建需要绑定的数据源
private DataSet GetDataSet()
{
//创建DataGrid数据源
}

II.DataGrid绑定
private void Bind()
{
dgrdMain.DataSource = GetDataSet();
dgrdMain.DataBind();
}

III.页面绑定
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Bind();
}
}

IV.分页处理
public void MyDataGrid_Page(object sender, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
//分页
dgrdMain.CurrentPageIndex = e.NewPageIndex;
Bind();
}