哪个好心的高手能给个GridView使用<PagerTemplate>自定义分页的完整代码学习一下啊,在网上找的全是少胳膊少腿的不能用~~~~ 哪个好心的高手能给个GridView使用<PagerTemplate>自定义分页的完整代码学习一下啊,在网上找的全是少胳膊少腿的不能用~~~~里面要有,当前页,总页数,共有记录数,和基本的分页功能,最好还能选择第几页的~!!MSDN我的也用过,功能太少~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我之前也找了一个完整代码如下:谁能改得能够正常使用也好啊原地址:http://www.x2blog.cn/EvilYang/5944.html<asp:GridView ID="gvResult" runat="server" Font-Names="#24429b" ForeColor="#333333" HorizontalAlign="Center"> <FooterStyle Font-Bold="True" ForeColor="White" BackColor="#014F8A" /> <RowStyle BackColor="#EFF3FB" BorderColor="#24429B" /> <SelectedRowStyle Font-Bold="True" BackColor="#D1DDF1" ForeColor="#333333" /> <PagerStyle HorizontalAlign="Center" BackColor="#D0E9FF" ForeColor="#24429B" /> <HeaderStyle Font-Bold="True" BackColor="#D0E9FF" ForeColor="#24429B" /> <AlternatingRowStyle BackColor="White" /> <Columns> <asp:BoundField DataField="Cust_Name" HeaderText="客户名称"> <ItemStyle ForeColor="Black" /> </asp:BoundField> <asp:BoundField DataField="USER_Exch" HeaderText="客户区域" /> </Columns><PagerSettings FirstPageText="第一页" LastPageText="最后一页" NextPageText="下一页" PreviousPageText="上一页" Mode="NextPreviousFirstLast" /><EditRowStyle BackColor="#2461BF" /> <EmptyDataTemplate> <font color="#24429B">没有与之匹配的结果!</font> </EmptyDataTemplate> <PagerTemplate> <font color="#24429b"> 当前<asp:Label ID="lblCurrentPage" runat="server" Text="Label"></asp:Label>/<asp:Label ID="lblTotalPage" runat="server" Text="Label"></asp:Label>页 共有<asp:Label ID="lblTotalCount" runat="server" Text="Label"></asp:Label>条记录 <asp:HyperLink ID="hlFirst" runat="server" ForeColor="#24429B">第一页</asp:HyperLink> |<asp:HyperLink ID="hlPrevious" runat="server" ForeColor="#24429B">上一页</asp:HyperLink><asp:HyperLink ID="hlNext" runat="server" ForeColor="#24429B">下一页</asp:HyperLink> |<asp:HyperLink ID="hlLast" runat="server" ForeColor="#24429B">最后一页</asp:HyperLink> | 转到第<asp:DropDownList ID="ddlRandom" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlRandom_SelectedIndexChanged"> </asp:DropDownList>页 </PagerTemplate></asp:GridView>代码部分。比较重要的。 protected void gvResult_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Pager) { //显示记录数 Label lblCurrentPage = (Label)(e.Row.FindControl("lblCurrentPage")); Label lblTotalPage = (Label)(e.Row.FindControl("lblTotalPage")); Label lblTotalCount = (Label)(e.Row.FindControl("lblTotalCount")); lblCurrentPage.Text = this.currentPage.ToString(); lblTotalPage.Text = this.totalPage.ToString(); lblTotalCount.Text = this.totalCount.ToString(); //绑定分页按钮 HyperLink hlFirst = (HyperLink)(e.Row.FindControl("hlFirst")); HyperLink hlPrevious = (HyperLink)(e.Row.FindControl("hlPrevious")); HyperLink hlNext = (HyperLink)(e.Row.FindControl("hlNext")); HyperLink hlLast = (HyperLink)(e.Row.FindControl("hlLast")); if (currentPage > 1) { hlFirst.NavigateUrl = "Default.aspx?id=1"; hlPrevious.NavigateUrl = "Default.aspx?id=" + (this.currentPage - 1); } if (currentPage < totalPage) { hlNext.NavigateUrl = "Default.aspx?id=" + (this.currentPage + 1); hlLast.NavigateUrl = "Default.aspx?id=" + this.totalPage; } //绑定转到第几页 DropDownList ddlRandom = (DropDownList)(e.Row.FindControl("ddlRandom")); for (int i = 1; i <= totalPage; i++) { ddlRandom.Items.Add(new ListItem(i.ToString(), i.ToString())); } ddlRandom.SelectedIndex = currentPage - 1; } if (e.Row.RowState == DataControlRowState.Normal) { ............. }}protected void gvFavorite_RowDeleting(object sender, GridViewDeleteEventArgs e) { string tempeteId = this.gvFavorite.DataKeys[e.RowIndex].Value.ToString(); Favorites favorites = new Favorites(); bool flag=favorites.DeleteFavorite(tempeteId); if (flag) { Response.Write("<script lauguage='javascript'> alert('你已经成功删除了一条模板')</script>"); } else { Response.Write("<script lauguage='javascript'> alert('删除失败')</script>"); } this.BindGvFavorite(); } protected void ddlRandom_SelectedIndexChanged(object sender, EventArgs e) { GridViewRow gvr = this.gvResult.BottomPagerRow; DropDownList ddlRandom = (DropDownList)(gvr.FindControl("ddlRandom")); this.currentPage = Convert.ToInt32(ddlRandom.SelectedIndex.ToString()) + 1; Response.Redirect("QueryDefault.aspx?id=" + this.currentPage); }sql如下:Select * from QUERY_USER_INFO where rowid in (select rowid from QUERY_USER_INFO where rownum <:CurrentPage*" + pageCount + "+1 minus select rowid from QUERY_USER_INFO where rownum<(:CurrentPage-1)*" + pageCount + "+1)" public static string strCutePage(object Totalrec,object PageSize,int PageNO,string Url)//总数据行数,每页行数,当前页 { int totalpage = CommonClass.CutPage(Convert.ToSingle(Totalrec),Convert.ToSingle(PageSize)) ; StringBuilder Tempstr = new StringBuilder(); StringBuilder s = new StringBuilder(); s.Append( " Go:<select name=\"select\" onChange='javascript:window.open(this.options[this.selectedIndex].value,\"_self\")'>"); for (int SelectInt = 1; SelectInt <= totalpage; SelectInt++) { if (SelectInt == PageNO) { s.Append("<option value=\"" + Url + SelectInt + "\" selected>第" + SelectInt + "页</option>"); } else { s.Append( "<option value=\"" + Url + SelectInt + "\">第" + SelectInt + "页</option>"); } } s.Append( "</select> "); if (totalpage == 1 || totalpage == 0) { Tempstr.Append( "页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇"); } else if (PageNO == 1 & !(totalpage == 1)) { Tempstr.Append( "页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a href=\"" + Url + (PageNO + 1) + "\">下一页</a> <a href=\"" + Url + totalpage + "\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇" ); } else if (!(PageNO == 1) & !(PageNO == totalpage)) { Tempstr.Append( "页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=\"" + Url + "1\">首页</a> <a <a href=\"" + Url + (PageNO - 1) + "\">上一页</a> <a href=\"" + Url + (PageNO + 1) + "\">下一页</a> <a href=\"" + Url + totalpage + "\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇"); } else if (PageNO == totalpage) { Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=\"" + Url + "1\">首页</a> <a href=\"" + Url + (PageNO - 1) + "\">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇" ); } return Tempstr.ToString() + s.ToString(); } //这个合适用到URL转发 public static string strCutePage(object Totalrec,object PageSize,int PageNO,string Url1,string Url2)//总数据行数,每页行数,当前页 { int totalpage = CommonClass.CutPage(Convert.ToSingle(Totalrec),Convert.ToSingle(PageSize)) ; StringBuilder Tempstr = new StringBuilder(); StringBuilder s = new StringBuilder(); s.Append(" Go:<select name=\"select\" onChange='javascript:window.open(this.options[this.selectedIndex].value,\"_self\")'>"); for (int SelectInt = 1; SelectInt <= totalpage; SelectInt++) { if (SelectInt == PageNO) { s.Append("<option value=" + Url1 + SelectInt + Url2+" selected>第" + SelectInt + "页</option>"); } else { s.Append("<option value=" + Url1 + SelectInt + Url2+">第" + SelectInt + "页</option>"); } } s.Append("</select> "); if (totalpage == 1 || totalpage == 0) { Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇"); } else if (PageNO == 1 & !(totalpage == 1)) { Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a href=" + Url1 + Convert.ToString(PageNO + 1) +Url2+ ">下一页</a> <a href=" + Url1 + totalpage + Url2+">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇" ); } else if (!(PageNO == 1) & !(PageNO == totalpage)) { Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=" + Url1 + "1"+Url2+">首页</a> <a <a href=" + Url1 + (PageNO - 1) + Url2+">上一页</a> <a href=" + Url1 + (PageNO + 1) + Url2+">下一页</a> <a href=" + Url1 + totalpage +Url2+ ">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇"); } else if (PageNO == totalpage) { Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=" + Url1 + "1"+Url2+">首页</a> <a href=" + Url1 + (PageNO - 1) + Url2+">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇"); } return Tempstr.ToString() + s.ToString(); } #endregion效果http://www.mytopwin.com/Soft/Class/2_1.html 可以用 aspnetpager 组件很方便的说 ^_^ aspnetpager能用在ASP.NET2.0的GirdView上?我试过好像不行,没有任何效果 求助:xp本机架设asp环境 DataGrid的使用问题 在win2003中如何调用外部dll?我在win2000server中调用一切正常??? 如何取重写后的url 哪位大虾GG帮帮我吧!!! 如何将日期转换成YYYYMMDD格式? Button显示的问题??? 高手:这里面的“等效项”做何详解? 小妹初学ASPNET 现在遇到页面传递问题 望高手解答-----在线等 ^_^ 请问html控件的value值有没有长度限制? 请问10万条数据加入DateSet是会怎么样的? 对于FreeTextBox控件的使用问题
谁能改得能够正常使用也好啊
原地址:http://www.x2blog.cn/EvilYang/5944.html<asp:GridView ID="gvResult" runat="server" Font-Names="#24429b" ForeColor="#333333" HorizontalAlign="Center">
<FooterStyle Font-Bold="True" ForeColor="White" BackColor="#014F8A" />
<RowStyle BackColor="#EFF3FB" BorderColor="#24429B" />
<SelectedRowStyle Font-Bold="True" BackColor="#D1DDF1" ForeColor="#333333" />
<PagerStyle HorizontalAlign="Center" BackColor="#D0E9FF" ForeColor="#24429B" />
<HeaderStyle Font-Bold="True" BackColor="#D0E9FF" ForeColor="#24429B" />
<AlternatingRowStyle BackColor="White" /> <Columns>
<asp:BoundField DataField="Cust_Name" HeaderText="客户名称">
<ItemStyle ForeColor="Black" />
</asp:BoundField>
<asp:BoundField DataField="USER_Exch" HeaderText="客户区域" /> </Columns><PagerSettings FirstPageText="第一页" LastPageText="最后一页" NextPageText="下一页" PreviousPageText="上一页" Mode="NextPreviousFirstLast" />
<EditRowStyle BackColor="#2461BF" />
<EmptyDataTemplate>
<font color="#24429B">没有与之匹配的结果!</font>
</EmptyDataTemplate>
<PagerTemplate>
<font color="#24429b"> 当前<asp:Label ID="lblCurrentPage" runat="server" Text="Label"></asp:Label>/<asp:Label ID="lblTotalPage" runat="server" Text="Label"></asp:Label>页 共有<asp:Label ID="lblTotalCount" runat="server" Text="Label"></asp:Label>条记录
<asp:HyperLink ID="hlFirst" runat="server" ForeColor="#24429B">第一页</asp:HyperLink>
|<asp:HyperLink ID="hlPrevious" runat="server" ForeColor="#24429B">上一页</asp:HyperLink>
<asp:HyperLink ID="hlNext" runat="server" ForeColor="#24429B">下一页</asp:HyperLink>
|<asp:HyperLink ID="hlLast" runat="server" ForeColor="#24429B">最后一页</asp:HyperLink> | 转到第<asp:DropDownList ID="ddlRandom" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlRandom_SelectedIndexChanged">
</asp:DropDownList>页
</PagerTemplate>
</asp:GridView>
代码部分。比较重要的。
protected void gvResult_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Pager)
{ //显示记录数
Label lblCurrentPage = (Label)(e.Row.FindControl("lblCurrentPage"));
Label lblTotalPage = (Label)(e.Row.FindControl("lblTotalPage"));
Label lblTotalCount = (Label)(e.Row.FindControl("lblTotalCount"));
lblCurrentPage.Text = this.currentPage.ToString();
lblTotalPage.Text = this.totalPage.ToString();
lblTotalCount.Text = this.totalCount.ToString();
//绑定分页按钮
HyperLink hlFirst = (HyperLink)(e.Row.FindControl("hlFirst"));
HyperLink hlPrevious = (HyperLink)(e.Row.FindControl("hlPrevious"));
HyperLink hlNext = (HyperLink)(e.Row.FindControl("hlNext"));
HyperLink hlLast = (HyperLink)(e.Row.FindControl("hlLast"));
if (currentPage > 1)
{
hlFirst.NavigateUrl = "Default.aspx?id=1";
hlPrevious.NavigateUrl = "Default.aspx?id=" + (this.currentPage - 1);
}
if (currentPage < totalPage)
{
hlNext.NavigateUrl = "Default.aspx?id=" + (this.currentPage + 1);
hlLast.NavigateUrl = "Default.aspx?id=" + this.totalPage;
}
//绑定转到第几页
DropDownList ddlRandom = (DropDownList)(e.Row.FindControl("ddlRandom"));
for (int i = 1; i <= totalPage; i++)
{
ddlRandom.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlRandom.SelectedIndex = currentPage - 1;
}
if (e.Row.RowState == DataControlRowState.Normal)
{
.............
}
}
protected void gvFavorite_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string tempeteId = this.gvFavorite.DataKeys[e.RowIndex].Value.ToString();
Favorites favorites = new Favorites();
bool flag=favorites.DeleteFavorite(tempeteId);
if (flag)
{
Response.Write("<script lauguage='javascript'> alert('你已经成功删除了一条模板')</script>");
} else
{
Response.Write("<script lauguage='javascript'> alert('删除失败')</script>");
}
this.BindGvFavorite(); }
protected void ddlRandom_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow gvr = this.gvResult.BottomPagerRow;
DropDownList ddlRandom = (DropDownList)(gvr.FindControl("ddlRandom"));
this.currentPage = Convert.ToInt32(ddlRandom.SelectedIndex.ToString()) + 1;
Response.Redirect("QueryDefault.aspx?id=" + this.currentPage); }
sql如下:Select * from QUERY_USER_INFO where rowid in (select rowid from QUERY_USER_INFO where rownum <:CurrentPage*" + pageCount + "+1 minus select rowid from QUERY_USER_INFO where rownum<(:CurrentPage-1)*" + pageCount + "+1)"
{
int totalpage = CommonClass.CutPage(Convert.ToSingle(Totalrec),Convert.ToSingle(PageSize)) ; StringBuilder Tempstr = new StringBuilder();
StringBuilder s = new StringBuilder();
s.Append( " Go:<select name=\"select\" onChange='javascript:window.open(this.options[this.selectedIndex].value,\"_self\")'>");
for (int SelectInt = 1; SelectInt <= totalpage; SelectInt++)
{
if (SelectInt == PageNO)
{
s.Append("<option value=\"" + Url + SelectInt + "\" selected>第" + SelectInt + "页</option>");
}
else
{
s.Append( "<option value=\"" + Url + SelectInt + "\">第" + SelectInt + "页</option>");
}
}
s.Append( "</select> ");
if (totalpage == 1 || totalpage == 0)
{
Tempstr.Append( "页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇");
}
else if (PageNO == 1 & !(totalpage == 1))
{
Tempstr.Append( "页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a href=\"" + Url + (PageNO + 1) + "\">下一页</a> <a href=\"" + Url + totalpage + "\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇" );
}
else if (!(PageNO == 1) & !(PageNO == totalpage))
{
Tempstr.Append( "页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=\"" + Url + "1\">首页</a> <a <a href=\"" + Url + (PageNO - 1) + "\">上一页</a> <a href=\"" + Url + (PageNO + 1) + "\">下一页</a> <a href=\"" + Url + totalpage + "\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇");
}
else if (PageNO == totalpage)
{
Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=\"" + Url + "1\">首页</a> <a href=\"" + Url + (PageNO - 1) + "\">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇" );
}
return Tempstr.ToString() + s.ToString();
}
//这个合适用到URL转发
public static string strCutePage(object Totalrec,object PageSize,int PageNO,string Url1,string Url2)//总数据行数,每页行数,当前页
{
int totalpage = CommonClass.CutPage(Convert.ToSingle(Totalrec),Convert.ToSingle(PageSize)) ; StringBuilder Tempstr = new StringBuilder();
StringBuilder s = new StringBuilder();
s.Append(" Go:<select name=\"select\" onChange='javascript:window.open(this.options[this.selectedIndex].value,\"_self\")'>");
for (int SelectInt = 1; SelectInt <= totalpage; SelectInt++)
{
if (SelectInt == PageNO)
{
s.Append("<option value=" + Url1 + SelectInt + Url2+" selected>第" + SelectInt + "页</option>");
}
else
{
s.Append("<option value=" + Url1 + SelectInt + Url2+">第" + SelectInt + "页</option>");
}
}
s.Append("</select> ");
if (totalpage == 1 || totalpage == 0)
{
Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇");
}
else if (PageNO == 1 & !(totalpage == 1))
{
Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a disabled=\"disabled\">首页</a> <a disabled=\"disabled\">上一页</a> <a href=" + Url1 + Convert.ToString(PageNO + 1) +Url2+ ">下一页</a> <a href=" + Url1 + totalpage + Url2+">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇" );
}
else if (!(PageNO == 1) & !(PageNO == totalpage))
{
Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=" + Url1 + "1"+Url2+">首页</a> <a <a href=" + Url1 + (PageNO - 1) + Url2+">上一页</a> <a href=" + Url1 + (PageNO + 1) + Url2+">下一页</a> <a href=" + Url1 + totalpage +Url2+ ">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇");
}
else if (PageNO == totalpage)
{
Tempstr.Append("页次:<font color=red><b>" + PageNO + "</b></font>/" + totalpage + " " + PageSize + "篇/页 <a href=" + Url1 + "1"+Url2+">首页</a> <a href=" + Url1 + (PageNO - 1) + Url2+">上一页</a> <a disabled=\"disabled\">下一页</a> <a disabled=\"disabled\">尾页</a> 合计 <font color=red><b>" + Totalrec + "</b></font> 篇");
} return Tempstr.ToString() + s.ToString();
}
#endregion
效果http://www.mytopwin.com/Soft/Class/2_1.html
很方便的说 ^_^