问题描述
我也把AllowPaging="True"设置成这样了,但是还是不能分页,“下一页”“上一页”在运行时还不是超链接,我的代码是这样的:protectedvoidDG_Alter_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){//DG_Alter.EditItemIndex=-1;DG_Alter.CurrentPageIndex=e.NewPageIndex;Databind();//DataBind();}其中Databind()函数的代码是:privatevoidDatabind(){//stringmyconn="server=127.0.0.1;database=Elect;uid=sa;pwd=";stringconn1=ConfigurationManager.AppSettings["conn"].ToString();SqlConnectionconn=newSqlConnection(conn1);//stringmysql="selectCName,TName,CInfofromCourse,TeacherwhereTno=CTno";stringmysql="selectTop5CName,TName,CInfofromCourse,TeacherwhereTno=CTno";SqlCommandmycom=newSqlCommand(mysql,conn);conn.Open();mycom.ExecuteNonQuery();SqlDataAdaptersqlada=newSqlDataAdapter(mycom);DataSetds=newDataSet();//SqlDataReaderdr=mycom.ExecuteReader();sqlada.Fill(ds);DG_Alter.DataSource=ds;DG_Alter.DataBind();conn.Close();}
解决方案
解决方案二:
stringmysql="selectTop5CName,TName,CInfofromCourse,TeacherwhereTno=CTno";不知道LZ设定的每页显示多少数据?另外,LZ的这个完全可以用vs的那个配置数据源向导让vs自动完成,不用自己写代码的。如果LZ一定要自己写,请注意DG_Alter_PageIndexChanged方法,好像有错误:protectedvoidDG_Alter_PageIndexChanged(objectsource,System.Web.UI.WebControls.DataGridPageChangedEventArgse){Databind();DG_Alter.CurrentPageIndex=e.NewPageIndex;//如果在这之前没有运行LZ的自定义的Databind()//就会出现“无效的CurrentPageIndex值。它必须大于等于0且小于PageCount。”这个错误DG_Alter.DataBind();}
我比较菜,是以前在实际写代码的时候发现这个问题的,现在忘了是什么原因了,不好意思^_^
解决方案三:
系统为什么总是提示AllowCustomPaging必须设置为true,但是如果这样设置了,"下一页"就不是超链接了,系统是这样提示的:当AllowPaging设置为true,并且选定的数据源未实现ICollection时,AllowCustomPaging必须为true,并且必须为ID为DataGrid1的DataGrid设置VirtualItemCount。请高手指点一下这是什么意思?
解决方案四:
参考这里,http://blog.csdn.net/zhzuo/category/13485.aspx