asp.net GridView分页中页脚如何加上当前页和总页数

在后台代码中的实现?
在前台html中又该怎么做?
那要怎么放在跟"上下一页" 同一行的页脚中

参照如下代码改下html样式就好 ,不明白的留言我

<table width="100%">
<tr>
<td style="text-align:right">
第<asp:Label id="lblPageIndex" runat="server" text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />页
共/<asp:Label id="lblPageCount" runat="server" text='<%# ((GridView)Container.Parent.Parent).PageCount %>' />页
<asp:linkbutton id="btnFirst" runat="server" causesvalidation="False" commandargument="First" commandname="Page" text="首页" />
<asp:linkbutton id="btnPrev" runat="server" causesvalidation="False" commandargument="Prev" commandname="Page" text="上一页" />
<asp:linkbutton id="btnNext" runat="server" causesvalidation="False" commandargument="Next" commandname="Page" text="下一页" />
<asp:linkbutton id="btnLast" runat="server" causesvalidation="False" commandargument="Last" commandname="Page" text="尾页" />
<asp:textbox id="txtNewPageIndex" runat="server" width="20px" text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />
<asp:linkbutton id="btnGo" runat="server" causesvalidation="False" commandargument="-1" commandname="Page" text="GO" /><!-- here set the CommandArgument of the Go Button to '-1' as the flag -->
</td>
</tr>
</table>

</PagerTemplate>

protected void grdvSearchResult_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
//this.grdvSearchResult.PageIndex = e.NewPageIndex;
////this.DataBind();

DataTable aaa = new DataTable();
aaa = (DataTable)ViewState["TableForAllSelect"];

grdvSearchResult.DataSource = aaa;
grdvSearchResult.DataBind();
grdvSearchResult.Visible = true;

GridView theGrid = sender as GridView; // refer to the GridView
int newPageIndex = 0;

if (-2 == e.NewPageIndex)
{ // when click the "GO" Button
TextBox txtNewPageIndex = null;
//GridViewRow pagerRow = theGrid.Controls[0].Controls[theGrid.Controls[0].Controls.Count - 1] as GridViewRow; // refer to PagerTemplate
GridViewRow pagerRow = theGrid.BottomPagerRow; //GridView较DataGrid提供了更多的API,获取分页块可以使用BottomPagerRow 或者TopPagerRow,当然还增加了HeaderRow和FooterRow
//updated at 2006年6月21日3:15:33

if (null != pagerRow)
{
txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox; // refer to the TextBox with the NewPageIndex value
}

if (null != txtNewPageIndex)
{
newPageIndex = int.Parse(txtNewPageIndex.Text) - 1; // get the NewPageIndex
}
}
else
{ // when click the first, last, previous and next Button
newPageIndex = e.NewPageIndex;
}

// check to prevent form the NewPageIndex out of the range
newPageIndex = newPageIndex < 0 ? 0 : newPageIndex;
newPageIndex = newPageIndex >= theGrid.PageCount ? theGrid.PageCount - 1 : newPageIndex;

// specify the NewPageIndex
theGrid.PageIndex = newPageIndex;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-11
GridView分页中,一般有两种数据读取方式:
第一种是一次性把所要的数据全部读到客户端,再进行处理,如比放到datatable中,总页数就是datatable["表名"].rows.count/每页的数据条数.但这种方式不适合大数据量查询,特别是在多人一起查询时.
第二种方式也是本人常用的方法,使用SQL中的row_number()函数,就是读取我当前页的数据.比如:
select * from (select row_number() over(order by siteid desc) as rowNumber,* from 表名 ) as table1 where rowNumber between (本页起始条数,如:20) and (本页结束条数,如40) order by inid desc
得到的数据直接输出到GridView则可以了!
第2个回答  2009-02-11
当前页:GridView1.PageIndex
总页数:GridView1.PageCount
用一个lable显示就行啦。后台在对gridview绑定数据后 输出以上属性。
lblCount.Text = "总共" + ds.Tables[0].Rows.Count.ToString() + "条数据";
lblPage.Text = "第" + (gvChanpin.PageIndex + 1).ToString() + "页";
lblPageCount.Text = "共" + gvChanpin.PageCount.ToString() + "页";
第3个回答  2009-02-10
有dll文件的
可以直接用的

前台需要,算数据有多少的
然后生成<a>放lbl里

asp.net GridView分页中页脚如何加上当前页和总页数
第一种是一次性把所要的数据全部读到客户端,再进行处理,如比放到datatable中,总页数就是datatable["表名"].rows.count\/每页的数据条数.但这种方式不适合大数据量查询,特别是在多人一起查询时.第二种方式也是本人常用的方法,使用SQL中的row_number()函数,就是读取我当前页的数据.比如:select from...

asp.net GridView分页中页脚如何加上当前页和总页数
第<asp:Label id="lblPageIndex" runat="server" text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' \/>页 共\/<asp:Label id="lblPageCount" runat="server" text='<%# ((GridView)Container.Parent.Parent).PageCount %>' \/>页 <asp:linkbutton id="btnFirst" runat="...

asp.net如何实现gridview控件进行分页并带有查询的代码
跳转到第<asp:DropDownList ID="ddlCurrentPage" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> <\/asp:DropDownList>页 .aspx.cs文件中的代码:protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e){ this.GridView1.PageIndex = thi...

ASP.NET中gridview分页后怎么计算某一列的总和
直接把数据先存储成DataTable形式Object a=dt.Computer('SUM(列名)','');sum=a.toString();这样就可以求出某列的和

asp.net 怎么分页
如果GridView是直接绑定数据库,则很简单:只要点击GridView空间左上角的小三角形,再弹出的选项中,将"启动分页"打上勾即可。 如果是用代码实现,则需要这么做: 1、允许分页:设置AllowPaging=True; 2、设置GridView属性栏中PagerSetting里的一些属性中,定义分页的样式; 3、数据部署:将...

asp.net C#中gridview的分页问题,请教。
在ASP.NET中,经常会使用到GridView的分页,一般情况下,若使用Visual Studio自带的数据源控件,不会出现什么问题。但是如果自己用代码设置GridView的数据源,GridView中第一页显示正常,这时如果点击第二页,则经常会出现如下错误 提示:GridView“GridView_test”激发了未处理的事件“PageIndexChanging”。这个...

为什么ASP.NET中用CheckBox全选时只选择了当前页
问题不够具体 通常情况下,是不会选择其他页的,因为用户看到的只是当前页 就如邮箱里的邮件一样,你执行全选,然后操作时,正确的执行应该是只对 用户可见的操作

不用gridview,在asp.net中还可以怎样进行分页?
table是用AJAX,reapter和datalist都是要手动写前台页面代码的,数据保存一般也是用ajax传XML到后台去保存 补充:猜测你用的是reapter控件 sql语句改成类似我写那个样子 在页面上加个上一页和下一页的button 点击上页的时候,当前页面数减一,重新构造SQL语句,重新绑定reapter控件 下页的时候加个一就...

asp.net 上一页下一页怎么实现
ASP.NET分页可以使用的方式很多,其他回答者说的用JS分页是其中一种 此外,用的比较多的还有是使用分页控件,你也可以自己编写分页代码(这个不是必须的)分页控件很多啊,GridView,AspNetPager等

Asp.net 中gridview设置分页栏格式 <PagerStyle HorizontalAlign="Rig...
可能是外部样式表影响的缘故,方法1.父容器中加 style = 'text-align:right;'方法2.<PagerStyle style='float:right;'> 方法3:<PagerStyle style="margin-left:600px;"> 值可以调

相似回答