C#asp.net中DataGridView控件的分页问题
利用vs2010结合access数据库开发时遇到了一个问题,用到这个DataGridView控件。使用时想打开控件自身带的分页功能,所以把allowPaging这一项改成...
利用vs2010结合access数据库开发时遇到了一个问题,
用到这个DataGridView控件。使用时想打开控件自身带的分页功能,所以把allowPaging这一项改成了True,每页记录数设置为5.这样数据库中有20条记录,也就是能分4页显示,但是呢,现在有个问题,分开之后,每次单击那个控件自身分页时的那个下一页按钮,就会提示错误,错误信息是:GridView激发了未处理的事件“PageIndexChanging”。
从网上查到了资料,解决方案是添加GridView的PageIndex_changing事件。我添加上了,事件代码是这样的:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
DataBind();
}
但是我现在呢 我每次单击之后,都是页面刷新了,但是没有显示GridVIew控件,
就是没有跳转到下一个分页。
我想问的是怎么让它单击控件自身的下一页按钮的时候,就自己跳转到下一个分页呢?~
请大神帮忙指示解决方案。越详细越好。 展开
用到这个DataGridView控件。使用时想打开控件自身带的分页功能,所以把allowPaging这一项改成了True,每页记录数设置为5.这样数据库中有20条记录,也就是能分4页显示,但是呢,现在有个问题,分开之后,每次单击那个控件自身分页时的那个下一页按钮,就会提示错误,错误信息是:GridView激发了未处理的事件“PageIndexChanging”。
从网上查到了资料,解决方案是添加GridView的PageIndex_changing事件。我添加上了,事件代码是这样的:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
DataBind();
}
但是我现在呢 我每次单击之后,都是页面刷新了,但是没有显示GridVIew控件,
就是没有跳转到下一个分页。
我想问的是怎么让它单击控件自身的下一页按钮的时候,就自己跳转到下一个分页呢?~
请大神帮忙指示解决方案。越详细越好。 展开
5个回答
展开全部
aspx中的GV中加入下面这些:
<PagerTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="First" OnClick="Page_Click" CommandName="Pageing" Text="首页" ></asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server" CommandArgument="Prev" OnClick="Page_Click" Text="上一页"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument="Next" OnClick="Page_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="LinkButton4" runat="server" CommandArgument="Last" OnClick="Page_Click" >最后页</asp:LinkButton>
</PagerTemplate>
然后cs中相应事件:
protected void Page_Click(object sender, EventArgs e)
{
string cmdArg = ((LinkButton)sender).CommandArgument;
switch (cmdArg)
{
case "First":
GridView1.PageIndex = 0;
break;
case "Prev":
GridView1.PageIndex = (int)Math.Max(0, GridView1.PageIndex - 1);
break;
case "Next":
GridView1.PageIndex = (int)Math.Min(GridView1.PageCount-1, GridView1.PageIndex+1 );
break;
case "Last":
GridView1.PageIndex = GridView1.PageCount - 1;
break;
}
bindToDG1(); //绑定数据库的操作
}
就是全部核心代码了,不懂的问我。
<PagerTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="First" OnClick="Page_Click" CommandName="Pageing" Text="首页" ></asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server" CommandArgument="Prev" OnClick="Page_Click" Text="上一页"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument="Next" OnClick="Page_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="LinkButton4" runat="server" CommandArgument="Last" OnClick="Page_Click" >最后页</asp:LinkButton>
</PagerTemplate>
然后cs中相应事件:
protected void Page_Click(object sender, EventArgs e)
{
string cmdArg = ((LinkButton)sender).CommandArgument;
switch (cmdArg)
{
case "First":
GridView1.PageIndex = 0;
break;
case "Prev":
GridView1.PageIndex = (int)Math.Max(0, GridView1.PageIndex - 1);
break;
case "Next":
GridView1.PageIndex = (int)Math.Min(GridView1.PageCount-1, GridView1.PageIndex+1 );
break;
case "Last":
GridView1.PageIndex = GridView1.PageCount - 1;
break;
}
bindToDG1(); //绑定数据库的操作
}
就是全部核心代码了,不懂的问我。
展开全部
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
//DataBind(); 把这句去掉
}
{
GridView1.PageIndex = e.NewPageIndex;
//DataBind(); 把这句去掉
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写一个绑定函数
Private void TestBind(int pageindex)
{
//连接数据库
Gridview1.DataSource=dt;
GridView1.PageIndex=pageindex;
GridView1.DataBind();
}
在PageIndexChanging事件中加入
TestBind(e.NewPageIndex)即可
Private void TestBind(int pageindex)
{
//连接数据库
Gridview1.DataSource=dt;
GridView1.PageIndex=pageindex;
GridView1.DataBind();
}
在PageIndexChanging事件中加入
TestBind(e.NewPageIndex)即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataList不是自己就会分页的吗?
搞不定去下一个分页控件好了,主要是一两句话搞不定
搞不定去下一个分页控件好了,主要是一两句话搞不定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataList不是自己就会分页的吗?
搞不定去下一个分页控件好了,主要是一两句话搞不定
搞不定去下一个分页控件好了,主要是一两句话搞不定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询