DataGrid的翻页问题
首先谢谢浏览我的问题!
我用DataGrid控件绑定了数据库的数据源,页面也可以正常显示出来,可是在链接到第二也的时候就会出错,下面提示是"网页上有错误",到不了第二页,可是程序上我检查了没有什么问题,请教大家!
问题点数:80、回复次数:13Top
1 楼nameone(过客)回复于 2006-03-02 14:41:30 得分 0
UPTop
2 楼pontus(pontus)回复于 2006-03-02 14:43:08 得分 0
你代码都不贴上来,谁知道什么错!?Top
3 楼lingbo_wx(上海小浪人)回复于 2006-03-02 14:44:09 得分 0
自己写的分页,还是datagrid自动分页
代码贴出来Top
4 楼marco419(小叶)回复于 2006-03-02 14:51:01 得分 0
<form id="Form1" runat="server">
<asp:datagrid id="DataGrid1"
runat="server"
autogeneratecolumns="False"
Font-Size="8pt"
Font-Name="Verdana"
Width="793px"
AllowPaging="True"
OnPageindexChanged="ChangePage"
AlternatingItemStyle-BackColor="#FFFFCD"
Headerstyle-BackColor="#AAAADD"
PagerStyle-Mode="NumericPages"
ForeColor="Black"
Height="240px"
HorizontalAlign="Center"
Font-Names="Verdana"
PageSize="5">
<HeaderStyle BackColor="#AAAADD"></HeaderStyle>
Position="TopAndBottom" Mode="NumericPages"></PagerStyle>
<AlternatingItemStyle BackColor="#FFFFCD"></AlternatingItemStyle>Top
5 楼marco419(小叶)回复于 2006-03-02 14:51:18 得分 0
麻烦麻烦Top
6 楼kenny8023(西门吹雪)回复于 2006-03-02 14:55:30 得分 10
'该过程用于分页
Private Sub myDataGrid_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles myDataGrid.PageIndexChanged
myDataGrid.CurrentPageIndex = e.NewPageIndex
Call myDataBind()
End SubTop
7 楼yuanweiming841103(弦月摘星)回复于 2006-03-02 15:04:47 得分 0
控件自带的分页怎么会这样啊,不懂,帮你顶一下Top
8 楼marco419(小叶)回复于 2006-03-02 15:26:33 得分 0
void Page_Load(Object Src,EventArgs E)
{
if(!IsPostBack)
{
startIndex=0;
}
Binding();
}
void Binding()
{
SqlConnection MyConnection;
String ConnStr;
MyConnection = new SqlConnection("server=localhost;database=news;uid=sa;pwd='123'");
MyConnection.Open();
String strCom="SELECT * profid FROM new where profid='处理中'";
DataSet myDataSet= new DataSet();
SqlDataAdapter myCommand = new SqlDataAdapter(strCom,MyConnection);
myCommand.Fill(myDataSet,"idcprof");
DataGrid1.DataSource=myDataSet.Tables["new"].DefaultView;
DataGrid1.DataBind();
}
void ChangePage(Object sender, DataGridPageChangedEventArgs e)
{
startIndex=e.NewPageIndex * DataGrid1.PageSize;
DataGrid1.CurrentPageIndex=e.NewPageIndex;
Binding();
}
这个是分页的代码,请高手指点迷津!Top
9 楼pontus(pontus)回复于 2006-03-02 15:53:42 得分 0
DataSet你fill的是"idcprof"表,那表"new"是哪来的?Top
10 楼ye_zi(行到水穷处·坐看云起时)回复于 2006-03-02 15:54:50 得分 0
自带的控件应该不会有问题的,你重新建一个页面然后再写一下试试Top
11 楼ye_zi(行到水穷处·坐看云起时)回复于 2006-03-02 15:56:48 得分 30
忘说了,把你那个DataGrid1.DataSource=myDataSet.Tables["new"].DefaultView;改成
DataGrid1.DataSource=myDataSet.Tables[].DefaultView;试试Top
12 楼pontus(pontus)回复于 2006-03-02 15:59:36 得分 40
最好吧Binding()写到!isPostBack里Top
13 楼wenquan_nn(求学者)回复于 2006-03-02 16:04:11 得分 0
myCommand.Fill(myDataSet,"idcprof");
DataGrid1.DataSource=myDataSet.Tables["new"].DefaultView;
不是注明填充后的表名为idcprof了吗,new是哪个表??
改成:
myDataSet.Tables["idcprof"].DefaultView
或
myDataSet.Tables[0].DefaultView
Top




