在我增加记录的时候,到了第二页的时候出错,错误信息为:
无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。
源错误:
行 322: // databind
行 323: DataGrid1.DataSource = ds;
行 324: DataGrid1.DataBind();
行 325: }
行 326: }
应该怎么写分页代码?
protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
***(); //重新棒定数据源
}
你在更改PageIndex的值时,要判断是否大于PageCount,如果大于,就把PageIndex设为PageCount
加上这句保你ok.
CurrentPageIndex=0
好用了,别忘给分呀.嘿嘿~~~~~~
SqlDataAdapter myCommand;
myCommand = new SqlDataAdapter("select * from rdoc , myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "doc");
DataGrid1.DataSource=ds.Tables["doc"].DefaultView;
int pagesum;
if(ds.Tables[0].DefaultView.Count%DataGrid1.PageSize==0)
pagesum=ds.Tables[0].DefaultView.Count/DataGrid1.PageSize;
else
pagesum=ds.Tables[0].DefaultView.Count/DataGrid1.PageSize+1;
if(ds.Tables[0].DefaultView.Count==0)
pagesum=1;
if(DataGrid1.CurrentPageIndex>=pagesum)
DataGrid1.CurrentPageIndex=pagesum-1;
DataGrid1.DataBind();
加上这段代码