分頁系列精裝版_第1頁
分頁系列精裝版_第2頁
分頁系列精裝版_第3頁
分頁系列精裝版_第4頁
分頁系列精裝版_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、GridView分頁系列(精裝版)1:GridView自帶分頁:GridView自帶的分頁,是假分頁,他每次從數(shù)據(jù)庫把數(shù)據(jù)全部查詢出之后,通過分頁的算法,進行按每頁數(shù)量進行分頁。分頁的屬性元素:分頁功能的實現(xiàn)就是通過對這些屬性元素的操作實現(xiàn)的。/this.GvShow.PageIndex 當前頁的索引/this.GvShow.PageCount 總共的頁數(shù)/this.GvShow.Rows.Count 當前頁簽內(nèi)的gridview的行數(shù)/this.GvShow.PageSize 每頁的記錄數(shù)/this.GvShow.PageIndex*this.GvShow.rows.count + 1 行索

2、引設置普通的GridView分頁:屬性AllowPaging="True"、PageSize="2" 設置分頁事件onpageindexchanging="GvShow_PageIndexChanging"后臺方法綁定:protected void GvShow_PageIndexChanging(object sender, GridViewPageEventArgs e)this.GvShow.PageIndex = e.NewPageIndex;BindView();2:自定義樣式的GridView自帶分頁:普通的GridVie

3、w自帶的分頁,不帶樣式,只是普通的1,2,3等,如果希望獲取到具有其他分頁樣式就應該設置<PagerSettings Position="TopAndBottom" PageButtonCount="1" />屬性<%-FirstPageText="首頁" LastPageText="尾頁" NextPageText="下一頁" PreviousPageText="上一頁"-%>后臺訪問此屬性的實例:this.GvShow.PagerSettings.

4、FirstPageText = "首頁"this.GvShow.PagerSettings.LastPageText = "尾頁"this.GvShow.PagerSettings.NextPageText = "下一頁"this.GvShow.PagerSettings.PreviousPageText = "上一頁"this.GvShow.PagerSettings.Mode = PagerButtons.NextPreviousFirstLast;通過<PagerStyle HorizontalAlig

5、n="Center" VerticalAlign="Middle" />屬性可以設置GRIDVIEW分頁的樣式3:在<PagerTemplate></PagerTemplate>分頁模板中自定義分頁的樣式,雖然微軟開辟了這個模板提供給用戶類似于自定義分頁的功能,但這個功能完全還是基于微軟的GridView自帶的分頁進行的,<PagerSettings>屬性的Visable的屬性必須是true AllowPaging="true" 與 PageSize="3"屬性頁都要進行相

6、關的有效設置才可以。這種情況下的分頁可以不使用onpageindexchanging="GvShow_PageIndexChanging"微軟自帶的分頁事件,開發(fā)自己獨立的分頁事件與方法即可范例:前臺代碼:<asp:GridView id="GvShow" runat="server" Width="910px" BorderColor="#687BC4" BorderWidth="1px" PageSize="3"CellPadding="

7、;1" HorizontalAlign="Center" BorderStyle="None" AllowPaging="true" AutoGenerateColumns="False" onpageindexchanging="GvShow_PageIndexChanging" onrowdatabound="GvShow_RowDataBound" Height="132px" onrowcommand="GvShow_RowCo

8、mmand"><SelectedRowStyle ForeColor="#FFFF99" BackColor="#FFFF99"></SelectedRowStyle><AlternatingRowStyle BackColor="#EEF2F1"></AlternatingRowStyle><RowStyle BackColor="White" Height="24" ></RowStyle><Hea

9、derStyle Wrap="False" HorizontalAlign="Center" Height="24px" ForeColor="Black" VerticalAlign="Middle"BackColor="#BFD5FA"></HeaderStyle><%-<PagerSettings Position="TopAndBottom" />-%><%-FirstPageText="首

10、頁" LastPageText="尾頁" NextPageText="下一頁" PreviousPageText="上一頁"-%> <PagerStyle ForeColor="White" HorizontalAlign="Center" BackColor="ActiveBorder" Font-Underline="false" /><Columns> <asp:TemplateField HeaderT

11、ext="省份"><ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle><ItemTemplate> <asp:Label ID="lblRegionName" runat="server" Text='<%#Eval("rname") %>' ></asp:Label></ItemTemp

12、late></asp:TemplateField> <asp:TemplateField HeaderText="城市"><ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle><ItemTemplate> <asp:Label ID="lblCityName" runat="server" Text='<%#Eval(&qu

13、ot;cname") %>' ></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="用戶名"><ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle><ItemTemplate> <asp:Label ID="lblUs

14、erName" runat="server" Text='<%#Eval("username") %>'></asp:Label></ItemTemplate></asp:TemplateField></Columns><PagerTemplate> <table cellSpacing="0" cellPadding="0" width="100%" align="cente

15、r" border="0"> <tr> <td vAlign="middle" align="center"><asp:linkbutton id="cmdbegin" runat="server" CommandName="begin" >首頁</asp:linkbutton> <asp:linkbutton id="cmdbefore" runat="server"

16、; CommandName="before" >上一頁</asp:linkbutton> <asp:linkbutton id="cmdafter" runat="server" CommandName="after" >下一頁</asp:linkbutton> <asp:linkbutton id="cmdend" runat="server" CommandName="end" >尾頁</as

17、p:linkbutton> </td> <td vAlign="middle" align="center">頁次:<asp:label id="txtNowPage" runat="server" ForeColor="red">0</asp:label>/<asp:label id="txtAllPage" runat="server" ForeColor="red">

18、;0</asp:label>頁&nbsp; 共<asp:label id="txtTotal" runat="server" ForeColor="red">0</asp:label>條記錄&nbsp; <asp:label id="txtNowRed" runat="server" ForeColor="red">0</asp:label>條記錄/頁 </td> <td vAlig

19、n="top" align="center"><asp:checkbox id="cmdCheck" runat="server" Text="顯示數(shù)字按鈕" AutoPostBack="True" oncheckedchanged="cmdCheck_CheckedChanged" ></asp:checkbox></td> </tr> </table></PagerTemplate

20、></asp:GridView>后臺代碼:namespace GridViewDemo.GridView分頁系列 public partial class GridView自定義分頁02 : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) BindView(); InitButtons(); private void BindView() DataTable dt = UserDemoAccess.GetUserSouce(); ViewState

21、"RowCounts" = dt.Rows.Count.ToString(); this.GvShow.DataSource = dt; this.GvShow.DataBind(); protected void GvShow_PageIndexChanging(object sender, GridViewPageEventArgs e) this.GvShow.PageIndex = e.NewPageIndex; BindView(); InitButtons(); protected void GvShow_RowDataBound(object sender,

22、GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) e.Row.Attributes.Add("onmouseover", "this.setAttribute('BKC',this.style.backgroundColor);this.style.cursor='default',this.style.backgroundColor='#ffff99'"); e.Row.Attributes.Add("

23、onmouseout", "this.style.backgroundColor=this.getAttribute('BKC');"); /if(e.Row.RowType = DataControlRowType.Pager) / / GridViewRow gr = e.Row; / /頁次 - 第幾頁 / Label txtNowPage = gr.FindControl("txtNowPage") as Label; / /總頁數(shù) / Label txtAllPage = gr.FindControl("tx

24、tAllPage") as Label; / /總記錄數(shù) / Label txtTotal = gr.FindControl("txtTotal") as Label; / /條記錄/頁 / Label txtNowRed = gr.FindControl("txtNowRed") as Label; / txtNowPage.Text = (this.GvShow.PageIndex+1).ToString(); / txtAllPage.Text = this.GvShow.PageCount.ToString(); / txtTotal.

25、Text = ViewState"RowCounts".ToString(); / txtNowRed.Text = this.GvShow.PageSize.ToString(); / protected void cmdCheck_CheckedChanged(object sender, EventArgs e) /CheckBox cmdCheck = this.GvShow.BottomPagerRow.FindControl("cmdCheck") as CheckBox; /if (cmdCheck.Checked) / / this.Gv

26、Show.PagerSettings.Mode = PagerButtons.Numeric; / protected void GvShow_RowCommand(object sender, GridViewCommandEventArgs e) /控制頁簽 switch(e.CommandName) case "begin": this.GvShow.PageIndex = 0; ; break; case "before": if(this.GvShow.PageIndex > 0) this.GvShow.PageIndex -= 1;

27、; break; case "after": if(this.GvShow.PageIndex < this.GvShow.PageCount - 1) this.GvShow.PageIndex += 1; ; break; case "end": this.GvShow.PageIndex = this.GvShow.PageCount-1; ; break; /控制按鈕 InitButtons(); private void InitButtons() /獲取gridviewrows的PagerTemplate底部模板 GridViewRow

28、 gr = this.GvShow.BottomPagerRow; LinkButton cmdbegin = gr.FindControl("cmdbegin") as LinkButton; LinkButton cmdbefore = gr.FindControl("cmdbefore") as LinkButton; LinkButton cmdafter = gr.FindControl("cmdafter") as LinkButton; LinkButton cmdend = gr.FindControl("c

29、mdend") as LinkButton; /頁次 - 第幾頁 Label txtNowPage = gr.FindControl("txtNowPage") as Label; /總頁數(shù) Label txtAllPage = gr.FindControl("txtAllPage") as Label; /總記錄數(shù) Label txtTotal = gr.FindControl("txtTotal") as Label; /條記錄/頁 Label txtNowRed = gr.FindControl("txtNo

30、wRed") as Label; txtNowPage.Text = (this.GvShow.PageIndex + 1).ToString(); txtAllPage.Text = this.GvShow.PageCount.ToString(); txtTotal.Text = ViewState"RowCounts".ToString(); txtNowRed.Text = this.GvShow.PageSize.ToString(); cmdbegin.Enabled = false; cmdbefore.Enabled = false; cmdaft

31、er.Enabled = false; cmdend.Enabled = false; if(this.GvShow.PageCount > 1) cmdbegin.Enabled = true; cmdbefore.Enabled = true; cmdafter.Enabled = true; cmdend.Enabled = true; if(this.GvShow.PageIndex = 0) cmdbegin.Enabled = false; cmdbefore.Enabled = false; else if(this.GvShow.PageIndex = this.GvSh

32、ow.PageCount-1) cmdafter.Enabled = false; cmdend.Enabled = false; 此外還可以不利用GridView自帶的分頁模板標記<PagerTemplate></PagerTemplate>可以在GridView的外部構(gòu)造一個talbe與gridview對應,這樣更加靈活,也應用于div中的GridView。前臺代碼:<table id="tablePager" runat="server" cellSpacing="0" cellPadding=&q

33、uot;0" width="100%" align="center" border="0"> <tr> <td vAlign="middle" align="center"><asp:linkbutton id="cmdbegin" runat="server" CommandName="begin" OnCommand="PagerButton_Command" >

34、;首頁</asp:linkbutton> <asp:linkbutton id="cmdbefore" runat="server" CommandName="before" OnCommand="PagerButton_Command" >上一頁</asp:linkbutton> <asp:linkbutton id="cmdafter" runat="server" CommandName="after" On

35、Command="PagerButton_Command" >下一頁</asp:linkbutton> <asp:linkbutton id="cmdend" runat="server" CommandName="end" OnCommand="PagerButton_Command" >尾頁</asp:linkbutton> </td> <td vAlign="middle" align="center

36、">頁次:<asp:label id="txtNowPage" runat="server" ForeColor="red">0</asp:label>/<asp:label id="txtAllPage" runat="server" ForeColor="red">0</asp:label>頁&nbsp; 共<asp:label id="txtTotal" runat=&qu

37、ot;server" ForeColor="red">0</asp:label>條記錄&nbsp; <asp:label id="txtNowRed" runat="server" ForeColor="red">0</asp:label>條記錄/頁 </td> <td vAlign="top" align="center"><asp:checkbox id="cmdCheck

38、" runat="server" Text="顯示數(shù)字按鈕" AutoPostBack="True" oncheckedchanged="cmdCheck_CheckedChanged" ></asp:checkbox></td> </tr> </table>這倆種方式的區(qū)別在于:適用內(nèi)部的分頁模板標記,在觸發(fā)事件后,不用重新綁定GridView,這個是由GridView內(nèi)部的分頁機制自動完成的,而采用外部構(gòu)造的方式,在執(zhí)行完之后,必須重新綁定grid

39、view,因為這個時候的pageIndex等信息已經(jīng)變化,需要重新進行綁定。后臺代碼:protected void PagerButton_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e) switch (e.CommandName) case "begin": this.GvShow.PageIndex = 0; ; break; case "before": if (this.GvShow.PageIndex > 0) this.GvShow.PageInd

40、ex -= 1; ; break; case "after": if (this.GvShow.PageIndex < this.GvShow.PageCount - 1) this.GvShow.PageIndex += 1; ; break; case "end": this.GvShow.PageIndex = this.GvShow.PageCount - 1; ; break; /在設置完頁簽后,將數(shù)據(jù)源重新綁定到GridView中 BindView(); InitButtons(); 一個很好樣式的假分頁,功能齊全:前臺頁面:<t

41、able> <tr> <td> <asp:GridView id="GvShow" runat="server" Width="910px" BorderColor="#687BC4" BorderWidth="1px" PageSize="3" CellPadding="1" HorizontalAlign="Center" BorderStyle="None" AllowPag

42、ing="true" AutoGenerateColumns="False" onrowdatabound="GvShow_RowDataBound" Height="132px" ><SelectedRowStyle ForeColor="#FFFF99" BackColor="#FFFF99"></SelectedRowStyle><AlternatingRowStyle BackColor="#EEF2F1">

43、;</AlternatingRowStyle><RowStyle BackColor="White" Height="24" ></RowStyle><HeaderStyle Wrap="False" HorizontalAlign="Center" Height="24px" ForeColor="Black" VerticalAlign="Middle"BackColor="#BFD5FA"

44、></HeaderStyle> <PagerStyle ForeColor="White" HorizontalAlign="Center" BackColor="ActiveBorder" Font-Underline="false" /><PagerSettings Mode="Numeric" Position="Bottom" Visible="false" /> <Columns> <a

45、sp:TemplateField HeaderText="省份"><ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle><ItemTemplate> <asp:Label ID="lblRegionName" runat="server" Text='<%#Eval("rname") %>' ></as

46、p:Label></ItemTemplate></asp:TemplateField> <asp:TemplateField HeaderText="城市"><ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle><ItemTemplate> <asp:Label ID="lblCityName" runat="server"

47、Text='<%#Eval("cname") %>' ></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="用戶名"><ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle><ItemTemplate> <

48、asp:Label ID="lblUserName" runat="server" Text='<%#Eval("username") %>'></asp:Label></ItemTemplate></asp:TemplateField></Columns></asp:GridView> </td> </tr> <tr> <td> <table id="tablePager&qu

49、ot; runat="server" cellSpacing="0" cellPadding="0" width="100%" align="center" border="0"> <tr> <td vAlign="middle" align="center"><asp:linkbutton id="cmdbegin" runat="server" Comman

50、dName="begin" OnCommand="PagerButton_Command" >首頁</asp:linkbutton> <asp:linkbutton id="cmdbefore" runat="server" CommandName="before" OnCommand="PagerButton_Command" >上一頁</asp:linkbutton> <asp:linkbutton id="cmd

51、after" runat="server" CommandName="after" OnCommand="PagerButton_Command" >下一頁</asp:linkbutton> <asp:linkbutton id="cmdend" runat="server" CommandName="end" OnCommand="PagerButton_Command" >尾頁</asp:linkbutto

52、n> </td> <td vAlign="middle" align="center">頁次:<asp:label id="txtNowPage" runat="server" ForeColor="red">0</asp:label>/<asp:label id="txtAllPage" runat="server" ForeColor="red">0</asp:

53、label>頁&nbsp; 共<asp:label id="txtTotal" runat="server" ForeColor="red">0</asp:label>條記錄&nbsp; <asp:label id="txtNowRed" runat="server" ForeColor="red">0</asp:label>條記錄/頁 </td> <td> <asp:Link

54、Button ID="lbtnTurnNewPage" runat="server" Text="跳轉(zhuǎn)" onclick="lbtnTurnNewPage_Click"></asp:LinkButton> <asp:TextBox ID="txtTurn" runat="server" Width="20" Height="20"></asp:TextBox> </td> <t

55、d> <asp:DropDownList ID="drpPageNumbers" runat="server" AutoPostBack="true" onselectedindexchanged="drpPageNumbers_SelectedIndexChanged"> </asp:DropDownList> </td> </tr> </table> </td> </tr> </table>后臺頁面:namespace GridViewDemo.GridView分頁系列 public partial class GridView自定義分頁04 : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPost

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論