ASP.NET的GridView分页问题
我做了个像网上书店那样的东西,首页是显示图书,从数据库读取数据绑定到GridView,每次访问的时候,都把数据库里面的600本书度下来,这样速度很慢,请问如何实现分页,每...
我做了个像网上书店那样的东西,首页是显示图书,从数据库读取数据绑定到GridView,每次访问的时候,都把数据库里面的600本书度下来,这样速度很慢,请问如何实现分页,每页都只从数据库读取10条信息绑定到GridView。谢谢。
展开
2个回答
2013-11-12
展开全部
只能用<asp:TemplateField><ItemTemplate>中间添加任何控件,然后把CommandName属性设置成独特的</ItemTemplate></asp:TemplateField>
在gridview事件command里面,判断e.CommandName是否等于你设置的那个属性,如果是就执行操作,不是就不用理
在gridview事件command里面,判断e.CommandName是否等于你设置的那个属性,如果是就执行操作,不是就不用理
2013-11-12
展开全部
如果你想自己做分页:
简单的:
int pageIndex = Convert.ToInt32(ViewState["pageIndex"]);
int totals = int.Parse(ViewState["totals"].ToString());
int pages = (totals % GridView1.PageSize) == 0 ? (totals / GridView1.PageSize) : (totals / GridView1.PageSize + 1);
string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();
switch (arg)
{
case "prev":
if (pageIndex > 0)
{
pageIndex -= 1;
}
break;
case "next":
if (pageIndex < pages - 1)
{
pageIndex += 1;
}
break;
case "last":
pageIndex = pages - 1;
break;
default:
pageIndex = 0;
break;
}
ViewState["pageIndex"] = pageIndex.ToString();
GridView1.DataSource = Wow.BLL.Common.Navigation.GetList(ViewState["sqlString"].ToString(), GridView1.PageSize * pageIndex, GridView1.PageSize).Tables[0];
GridView1.DataBind();
PageIndex.Text = "第" + (pageIndex + 1).ToString() + "页";
PageBox.Text = (pageIndex + 1).ToString();
如果是数字分页那么就多点了:
我就不贴代码了
我推荐是使用 AspNetPager分页控件
http://www.webdiyer.com/AspNetPager/default.aspx 非常的棒,使用又非常的简单,里面可以自动生成存储过程等等,具体使用可以看示例
而且还是开源的 也支持AJAX
简单的:
int pageIndex = Convert.ToInt32(ViewState["pageIndex"]);
int totals = int.Parse(ViewState["totals"].ToString());
int pages = (totals % GridView1.PageSize) == 0 ? (totals / GridView1.PageSize) : (totals / GridView1.PageSize + 1);
string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();
switch (arg)
{
case "prev":
if (pageIndex > 0)
{
pageIndex -= 1;
}
break;
case "next":
if (pageIndex < pages - 1)
{
pageIndex += 1;
}
break;
case "last":
pageIndex = pages - 1;
break;
default:
pageIndex = 0;
break;
}
ViewState["pageIndex"] = pageIndex.ToString();
GridView1.DataSource = Wow.BLL.Common.Navigation.GetList(ViewState["sqlString"].ToString(), GridView1.PageSize * pageIndex, GridView1.PageSize).Tables[0];
GridView1.DataBind();
PageIndex.Text = "第" + (pageIndex + 1).ToString() + "页";
PageBox.Text = (pageIndex + 1).ToString();
如果是数字分页那么就多点了:
我就不贴代码了
我推荐是使用 AspNetPager分页控件
http://www.webdiyer.com/AspNetPager/default.aspx 非常的棒,使用又非常的简单,里面可以自动生成存储过程等等,具体使用可以看示例
而且还是开源的 也支持AJAX
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询