GridView分頁的實(shí)現(xiàn)(通用分頁模板)
更新時(shí)間:2013年04月10日 16:51:07 作者:
要在GridView中加入AllowPaging=true,一頁數(shù)據(jù)多少行PageSize=10分頁時(shí)觸發(fā)的事件OnPageIndexChanging等等,感興趣的朋友可以了解下本文,希望對(duì)你有所幫助
要在GridView中加入
//實(shí)現(xiàn)分頁
AllowPaging="true"
//一頁數(shù)據(jù)10行
PageSize="10"
// 分頁時(shí)觸發(fā)的事件
OnPageIndexChanging="gvwDesignationName_PageIndexChanging"
在服務(wù)器事件里
protectedvoid gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvwDesignationName.PageIndex=e.newIndex;
bingDesignatioonName();
}
這里我給出一個(gè)通用顯示分頁的模板(網(wǎng)上搜的,自己給出注釋)
<PagerTemplate>
當(dāng)前第:
//((GridView)Container.NamingContainer)就是為了得到當(dāng)前的控件
<asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageIndex + 1 %>"></asp:Label>
頁/共:
//得到分頁頁面的總數(shù)
<asp:Label ID="LabelPageCount" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageCount %>"></asp:Label>
頁
//如果該分頁是首分頁,那么該連接就不會(huì)顯示了.同時(shí)對(duì)應(yīng)了自帶識(shí)別的命令參數(shù)CommandArgument
<asp:LinkButton ID="LinkButtonFirstPage" runat="server" CommandArgument="First" CommandName="Page"
Visible='<%#((GridView)Container.NamingContainer).PageIndex != 0 %>'>首頁</asp:LinkButton>
<asp:LinkButton ID="LinkButtonPreviousPage" runat="server" CommandArgument="Prev"
CommandName="Page" Visible='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'>上一頁</asp:LinkButton>
//如果該分頁是尾頁,那么該連接就不會(huì)顯示了
<asp:LinkButton ID="LinkButtonNextPage" runat="server" CommandArgument="Next" CommandName="Page"
Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>下一頁</asp:LinkButton>
<asp:LinkButton ID="LinkButtonLastPage" runat="server" CommandArgument="Last" CommandName="Page"
Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>尾頁</asp:LinkButton>
轉(zhuǎn)到第
<asp:TextBox ID="txtNewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />頁
//這里將CommandArgument即使點(diǎn)擊該按鈕e.newIndex 值為3
<asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-2"
CommandName="Page" Text="GO" />
</PagerTemplate>
對(duì)應(yīng)該事件中代碼為
protected void gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
// 得到該控件
GridView theGrid = sender as GridView;
int newPageIndex = 0;
if (e.NewPageIndex==-3)
{
//點(diǎn)擊了Go按鈕
TextBox txtNewPageIndex = null;
//GridView較DataGrid提供了更多的API,獲取分頁塊可以使用BottomPagerRow 或者TopPagerRow,當(dāng)然還增加了HeaderRow和FooterRow
GridViewRow pagerRow = theGrid.BottomPagerRow;
if (pagerRow != null)
{
//得到text控件
txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox;
}
if ( txtNewPageIndex!= null)
{
//得到索引
newPageIndex = int.Parse(txtNewPageIndex.Text) - 1;
}
}
else
{
//點(diǎn)擊了其他的按鈕
newPageIndex = e.NewPageIndex;
}
//防止新索引溢出
newPageIndex = newPageIndex < 0 ? 0 : newPageIndex;
newPageIndex = newPageIndex >= theGrid.PageCount ? theGrid.PageCount - 1 : newPageIndex;
//得到新的值
theGrid.PageIndex = newPageIndex;
//重新綁定
bingDesignatioonName();
}
//實(shí)現(xiàn)分頁
AllowPaging="true"
//一頁數(shù)據(jù)10行
PageSize="10"
// 分頁時(shí)觸發(fā)的事件
OnPageIndexChanging="gvwDesignationName_PageIndexChanging"
在服務(wù)器事件里
復(fù)制代碼 代碼如下:
protectedvoid gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvwDesignationName.PageIndex=e.newIndex;
bingDesignatioonName();
}
這里我給出一個(gè)通用顯示分頁的模板(網(wǎng)上搜的,自己給出注釋)
復(fù)制代碼 代碼如下:
<PagerTemplate>
當(dāng)前第:
//((GridView)Container.NamingContainer)就是為了得到當(dāng)前的控件
<asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageIndex + 1 %>"></asp:Label>
頁/共:
//得到分頁頁面的總數(shù)
<asp:Label ID="LabelPageCount" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageCount %>"></asp:Label>
頁
//如果該分頁是首分頁,那么該連接就不會(huì)顯示了.同時(shí)對(duì)應(yīng)了自帶識(shí)別的命令參數(shù)CommandArgument
<asp:LinkButton ID="LinkButtonFirstPage" runat="server" CommandArgument="First" CommandName="Page"
Visible='<%#((GridView)Container.NamingContainer).PageIndex != 0 %>'>首頁</asp:LinkButton>
<asp:LinkButton ID="LinkButtonPreviousPage" runat="server" CommandArgument="Prev"
CommandName="Page" Visible='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'>上一頁</asp:LinkButton>
//如果該分頁是尾頁,那么該連接就不會(huì)顯示了
<asp:LinkButton ID="LinkButtonNextPage" runat="server" CommandArgument="Next" CommandName="Page"
Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>下一頁</asp:LinkButton>
<asp:LinkButton ID="LinkButtonLastPage" runat="server" CommandArgument="Last" CommandName="Page"
Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>尾頁</asp:LinkButton>
轉(zhuǎn)到第
<asp:TextBox ID="txtNewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />頁
//這里將CommandArgument即使點(diǎn)擊該按鈕e.newIndex 值為3
<asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-2"
CommandName="Page" Text="GO" />
</PagerTemplate>
對(duì)應(yīng)該事件中代碼為
復(fù)制代碼 代碼如下:
protected void gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
// 得到該控件
GridView theGrid = sender as GridView;
int newPageIndex = 0;
if (e.NewPageIndex==-3)
{
//點(diǎn)擊了Go按鈕
TextBox txtNewPageIndex = null;
//GridView較DataGrid提供了更多的API,獲取分頁塊可以使用BottomPagerRow 或者TopPagerRow,當(dāng)然還增加了HeaderRow和FooterRow
GridViewRow pagerRow = theGrid.BottomPagerRow;
if (pagerRow != null)
{
//得到text控件
txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox;
}
if ( txtNewPageIndex!= null)
{
//得到索引
newPageIndex = int.Parse(txtNewPageIndex.Text) - 1;
}
}
else
{
//點(diǎn)擊了其他的按鈕
newPageIndex = e.NewPageIndex;
}
//防止新索引溢出
newPageIndex = newPageIndex < 0 ? 0 : newPageIndex;
newPageIndex = newPageIndex >= theGrid.PageCount ? theGrid.PageCount - 1 : newPageIndex;
//得到新的值
theGrid.PageIndex = newPageIndex;
//重新綁定
bingDesignatioonName();
}
您可能感興趣的文章:
- asp.net gridview分頁:第一頁 下一頁 1 2 3 4 上一頁 最末頁
- asp.net中的GridView分頁問題
- Android入門之ActivityGroup+GridView實(shí)現(xiàn)Tab分頁標(biāo)簽的方法
- GridView分頁的實(shí)現(xiàn)以及自定義分頁樣式功能實(shí)例
- Android中實(shí)現(xiàn)多行、水平滾動(dòng)的分頁的Gridview實(shí)例源碼
- Asp.net GridView使用大全(分頁實(shí)現(xiàn))
- AspNetPager+GridView實(shí)現(xiàn)分頁的實(shí)例代碼
- asp.net中g(shù)ridview的查詢、分頁、編輯更新、刪除的實(shí)例代碼
- GridView高效分頁和搜索功能的實(shí)現(xiàn)代碼
- 解析GridView自帶分頁及與DropDownList結(jié)合使用
相關(guān)文章
asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁下載速度的代碼
剛看到有人給出asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁下載速度的方法,本方法未經(jīng)本人測(cè)試,不知道能否可靠性如何。準(zhǔn)確來說,這只是個(gè)思路吧2013-03-03asp.net+jquery Gridview的多行拖放, 以及跨控件拖放
學(xué)習(xí)JQuery時(shí),發(fā)現(xiàn)JQuery只能做單行拖放, 于是花時(shí)間做了一個(gè)多行拖放的例子, 以備以后使用。2009-11-11aspxgridview CustomButtonCallback 不支持彈出消息提示解決方法
aspxgridveiw是devexpress的一個(gè)grid控件,使用起來還不錯(cuò),不能再 CustomButtonCallback 事件中使用response.write,具體的解決方法如下,感興趣的朋友可以參考下哈2013-06-06基于.net4.0實(shí)現(xiàn)IdentityServer4客戶端JWT解密
這篇文章主要為大家詳細(xì)介紹了基于.net4.0實(shí)現(xiàn)IdentityServer4客戶端JWT解密,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09asp.net 自制的單選、多選列表實(shí)現(xiàn)代碼
在ASP.NET的頁面上,ListBox最終是渲染成select元素,而CheckListBox最終被渲染成div或者是table,使得二者的樣式無法統(tǒng)一,或者說要統(tǒng)一很麻煩。2009-08-08