快哭了,急,GridView自定义分页(第一页、上一页、下一页、最后页、当前页数/总页数)怎么实现呢?能否提供可运行源码?

kenriy 2010-03-02 09:20:29
快哭了,急,GridView自定义分页(第一页、上一页、下一页、最后页、当前页数/总页数)怎么实现呢?能否提供可运行源码?
...全文
1598 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
钱币老顽童 2011-11-23
  • 打赏
  • 举报
回复
你更多的应该考虑aspnetpager这个翻页控件如何自定义显示每页内容条目数╮(╯_╰)╭
gaobeiqiang 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sxinhe 的回复:]
C# code

<PagerTemplate>
<div align="right" class="PageLink">
<asp:LinkButton ID="cmdFirstPage" runat="server" CommandName="Page" CommandArgument="First"
……
[/Quote]太牛了这个
zhoulingsmile 2010-05-08
  • 打赏
  • 举报
回复
学习了。。。
sxmny123 2010-03-10
  • 打赏
  • 举报
回复
本人是计算机疯狂爱好者,为了有共同爱好者的朋友们能走到一起互相交流切磋,我特意创建了几个群, 希望有共同爱好的 新手 高手 加入...
计算机爱好者群系列
计算机爱好者-电脑技术群 26959968
计算机爱好者-C编程群 43710309
计算机爱好者-C#.net 群 86594082 (实力群)
计算机爱好者-java 群 86594335 (新群招管理)
所有计算机群每15天清理一次
加群的好处 :当你有一些小问题的时候 去网上发贴 不能及时得到答案,在群里可以迅速得到答案.....能认识一些志同道合的朋友......共同进步.......
HatoLee 2010-03-10
  • 打赏
  • 举报
回复
前台
                <tr>
<td align="center" style="height: 25px">
<asp:LinkButton ID="btnFirst" CommandArgument="first" OnClick="PagerButtonClick" runat="server">首 页</asp:LinkButton>
<asp:LinkButton ID="btnPrev" CommandArgument="prev" OnClick="PagerButtonClick" runat="server">上一页</asp:LinkButton>
<asp:LinkButton ID="btnNext" CommandArgument="next" OnClick="PagerButtonClick" runat="server">下一页</asp:LinkButton>
<asp:LinkButton ID="btnLast" CommandArgument="last" OnClick="PagerButtonClick" runat="server">尾 页</asp:LinkButton>
<asp:Label ID="LblCurrentIndex" runat="server"></asp:Label>
<asp:Label ID="LblPageCount" runat="server"></asp:Label>
<asp:Label ID="LblRecordCount" runat="server"></asp:Label>
     跳转到: <asp:DropDownList ID="pageDropDownList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="pageDropDownList_SelectedIndexChanged"></asp:DropDownList>


</td>
</tr>


后台
            btnFirst.Enabled = true;
btnPrev.Enabled = true;
btnNext.Enabled = true;
btnLast.Enabled = true;

LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString() + " 页";
LblPageCount.Text = "共 " + GridView1.PageCount.ToString() + " 页";
LblRecordCount.Text = "总共 " + ds.Tables[0].Rows.Count.ToString() + " 条";
if (GridView1.PageIndex == 0)
{
btnFirst.Enabled = false;
btnPrev.Enabled = false;
}
else if (GridView1.PageIndex == GridView1.PageCount-1)
{
btnNext.Enabled = false;
btnLast.Enabled = false;
}
pageDropDownList.Items.Clear();
for (int i = 1; i < GridView1.PageCount+1; i++)
{
pageDropDownList.Items.Add(i.ToString());
}
pageDropDownList.SelectedValue = Convert.ToString(GridView1.PageIndex + 1);
// 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"
btnFirst.CommandName = "1";
btnPrev.CommandName = (GridView1.PageIndex == 0 ? "1" : GridView1.PageIndex.ToString());

btnNext.CommandName = (GridView1.PageCount == 1 ? GridView1.PageCount.ToString() : (GridView1.PageIndex + 2).ToString());
btnLast.CommandName = GridView1.PageCount.ToString();
unicode 2010-03-10
  • 打赏
  • 举报
回复
楼主跟你说一下我的做法吧,是自定义的,没用gridview的分页功能
1, 确定每页的数目,比如一页显示50条
2, 利用sql语句获取总的数目
3, 计算出的总的页数,然后动态生成超链接,如11页就生产11个linkbutton,每个button对应每页
4, 点击分页button时,根据button id就可以知道当前是第几页,利用sql从数据库中取出相应的
5, 重新绑定gridview
wodejsj1 2010-03-10
  • 打赏
  • 举报
回复
楼上的都是一坨B 简单的问题全部抢着答。难点的都没声音了。都他妈菜鸟还装
kenriy 2010-03-10
  • 打赏
  • 举报
回复
用AspNetPager吧,听说非常不错!但不会用,谁能指点下!!!!!!
yinmo1988 2010-03-03
  • 打赏
  • 举报
回复
启动分页,再触发绑定前重新绑定一次。。。很简单
kenriy 2010-03-03
  • 打赏
  • 举报
回复
用 sql 的分页语句,我更加不懂了,你能否提供代码呢?
ZHUKY 2010-03-02
  • 打赏
  • 举报
回复
给你个分页控件,要不?
maomao90 2010-03-02
  • 打赏
  • 举报
回复
引用楼主 kenriy 的回复:
快哭了,急,GridView自定义分页(第一页、上一页、下一页、最后页、当前页数/总页数)怎么实现呢?能否提供可运行源码?

楼主既然用GridView,那么应该直接用它里面的分页功能呀,
zly_13520 2010-03-02
  • 打赏
  • 举报
回复
加油,自己试着想一想
whb147 2010-03-02
  • 打赏
  • 举报
回复
一般都是自己写,呵呵
段传涛 2010-03-02
  • 打赏
  • 举报
回复
你是mm?
---------------------
protected void Page_Load(object sender, EventArgs e)
{
dlBind();
}
public void dlBind()
{
int curpage = Convert.ToInt32(this.labPage.Text);
PagedDataSource ps = new PagedDataSource();
sqlconn = myCon.getCon();
sqlconn.Open();
string sqlstr = "select a.*,b.* from tb_Card as a join tb_Module as b on a.ModuleID=b.ModuleID";
SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlconn);
DataSet ds = new DataSet();
MyAdapter.Fill(ds, "tb_Card");
ps.DataSource = ds.Tables["tb_Card"].DefaultView;
ps.AllowPaging = true; //是否可以分页
ps.PageSize = 2; //显示的数量
ps.CurrentPageIndex = curpage - 1; //取得当前页的页码
this.lnkbtnUp.Enabled = true;
this.lnkbtnNext.Enabled = true;
this.lnkbtnBack.Enabled = true;
this.lnkbtnOne.Enabled = true;
if (curpage == 1)
{
this.lnkbtnOne.Enabled = false;//不显示第一页按钮
this.lnkbtnUp.Enabled = false;//不显示上一页按钮
}
if (curpage == ps.PageCount)
{
this.lnkbtnNext.Enabled = false;//不显示下一页
this.lnkbtnBack.Enabled = false;//不显示最后一页
}
this.labBackPage.Text = Convert.ToString(ps.PageCount);
this.dlContent.DataSource = ps;
this.dlContent.DataKeyField = "CardID";
this.dlContent.DataBind();
}
protected void lnkbtnOne_Click(object sender, EventArgs e)
{
this.labPage.Text = "1";
this.dlBind();
}
protected void lnkbtnUp_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
this.dlBind();
}
protected void lnkbtnNext_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
this.dlBind();
}
protected void lnkbtnBack_Click(object sender, EventArgs e)
{
this.labPage.Text = this.labBackPage.Text;
this.dlBind();
}
xray2005 2010-03-02
  • 打赏
  • 举报
回复
AspNetPager这个很好用的
imfor 2010-03-02
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100225/16/f26550a3-d261-4106-8a50-31f8eb9022f2.html
我推荐自己写的Repeater集成分页功能。代码简单。
hj88624 2010-03-02
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100224/16/0205b8b6-3a15-4c78-8be1-ea072be26b53.html
凋零的老树 2010-03-02
  • 打赏
  • 举报
回复
GridView不是有一个属性,设置为true就可以了
spark_wu 2010-03-02
  • 打赏
  • 举报
回复
引用 2 楼 sxinhe 的回复:
C# code<PagerTemplate><div align="right"class="PageLink"><asp:LinkButton ID="cmdFirstPage" runat="server" CommandName="Page" CommandArgument="First"
Enabled="<%# ((GridView)Contain?-


这个不符合楼主的要求啊,没有总页数啊,呵呵
别Ctrl+C Ctrl+V 就行了啊
加载更多回复(10)

62,051

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧