GridView >PagerTemplate> 頁碼

來源:互聯網
上載者:User

若要為頁導航行指定自訂模板,先要在 GridView 控制項的開始標記和結束標記之間放置 <PagerTemplate> 標記。然後可以在開始和結束
<PagerTemplate> 標記之間列出模板的內容。若要控制頁導航行的外觀,請使用
PagerStyle 屬性。

通常,將按鈕控制項添加到頁導航模板以執行分頁操作。單擊 CommandName 屬性設定為“Page”的按鈕控制項時,GridView 控制項會執行分頁操作。按鈕的
CommandArgument 屬性確定要執行的分頁操作的類型。下表列出了 GridView 控制項支援的命令參數值。

 

CommandArgument 值

說明

“Next”

導航至下一頁。

“Prev”

導航至上一頁。

“First”

導航至第一頁。

“Last”

導航至最後一頁。

整數值

導航至指定頁碼。

<asp:GridView ID="gvAllActivites" runat="server" AutoGenerateColumns="false" PageSize="5"<br /> AllowPaging="true" OnPageIndexChanging="gvAllActivites_PageIndexChanging"<br /> CssClass="tagLi" ShowHeader="false" BorderWidth="0" CellPadding="5"<br /> onrowcreated="gvAllActivites_RowCreated" CellSpacing="10" Width="650" Height="280" ><br /> <Columns><br /> <asp:TemplateField><br /> <ItemTemplate><br /> <a href="/membership/viewprofile.aspx?panel=1&user=<%# Eval(" mce_href="membership/viewprofile.aspx?panel=1&user=<%# Eval("subject") %>"><strong<br /> class="deepBlue"><br /> <%# Eval("subject")%></b></a> <span class="black"><br /> <%# Eval("description")%></span> on <span><br /> <%# ((DateTime)Eval("date")).ToString("dd MMM yyyy hh:m tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)%></span><br /> </ItemTemplate><br /> </asp:TemplateField><br /> </Columns><br /> <PagerTemplate><br /> <div class="pagination" mce_style="pagination"><br /> <div class="right"><br /> <span class="fontSize11">Page :</span><br /> <asp:LinkButton ID="lbnFirst" runat="Server" CommandArgument="First" CommandName="Page"<br /> Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>" Text="<<"></asp:LinkButton><br /> <asp:LinkButton ID="lbnPrev" runat="server" CommandArgument="Prev" CommandName="Page"<br /> Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>" Text="<"></asp:LinkButton><br /> <%-- 在此加入 PlaceHolder --%><br /> <asp:PlaceHolder ID="NumbericPagerPlaceHolder" runat="server"></asp:PlaceHolder><br /> <asp:LinkButton ID="lbnNext" runat="Server" CommandArgument="Next" CommandName="Page"<br /> Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>"<br /> Text=">"></asp:LinkButton><br /> <asp:LinkButton ID="lbnLast" runat="Server" CommandArgument="Last" CommandName="Page"<br /> Enabled="<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>"<br /> Text=">>"></asp:LinkButton><br /> </div><br /> </div><br /> </PagerTemplate><br /> <PagerSettings Position="TopAndBottom" /><br /> <PagerStyle CssClass="active" /><br /> </asp:GridView>

protected void LoadMemberActivities()<br /> {<br /> DataView dv = ActivitiesController.GetAllLatestActivities();<br /> this.gvAllActivites.DataSource = dv;<br /> this.gvAllActivites.DataBind();<br /> }<br /> protected void gvAllActivites_PageIndexChanging(object sender, GridViewPageEventArgs e)<br /> {<br /> this.gvAllActivites.PageIndex = e.NewPageIndex;<br /> LoadMemberActivities();<br /> }<br /> protected void gvAllActivites_RowCreated(object sender, GridViewRowEventArgs e)<br /> {<br /> GridViewRow currentRow = e.Row;<br /> if (currentRow.RowType == DataControlRowType.Pager)<br /> {<br /> PlaceHolder numbericPagerPlaceHoder = ((PlaceHolder)currentRow.FindControl("NumbericPagerPlaceHolder"));<br /> LinkButton numbericButton = null;<br /> int pageIndex = gvAllActivites.PageIndex;<br /> int pageCount = gvAllActivites.PageCount;<br /> int startIndex = (pageIndex < 5) ? 0 : (pageIndex - 5 < pageCount - 10) ? pageIndex - 5 : pageCount - 10;<br /> int endIndex = (startIndex + 9 <= pageCount - 1) ? startIndex + 9 : pageCount - 1;<br /> numbericPagerPlaceHoder.Controls.Add(new LiteralControl("  "));<br /> for (int i = startIndex; i <= endIndex; i++)<br /> {<br /> if (i == pageIndex)<br /> {<br /> numbericPagerPlaceHoder.Controls.Add(<br /> new LiteralControl(String.Format("<span style='background-color:#003499;color:#FFFFFF;font-weight:bold;width:20px;display:block;' >{0}</span>  ", i + 1)));<br /> }<br /> else<br /> {<br /> numbericButton = new LinkButton();<br /> numbericButton.Text = (i + 1).ToString();<br /> numbericButton.CommandName = "Page";<br /> numbericButton.CommandArgument = (i + 1).ToString();<br /> numbericPagerPlaceHoder.Controls.Add(numbericButton);<br /> numbericPagerPlaceHoder.Controls.Add(new LiteralControl(" "));<br /> }<br /> }<br /> numbericPagerPlaceHoder.Controls.Add(new LiteralControl("  "));<br /> }<br /> }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.