zoukankan      html  css  js  c++  java
  • VS中的DataPager分页

    微软的DataPager分页功能很强大,不要设置数据库存储过程,只要添加个DataPager控件,关联下要分页的控件,简单设置就可以有不错的分页效果。当然要有更理想的效果还是要前台和后台处理下。

    winform下的DataPager 显示模式:

    webForm下的样式由TemplatePagerField,NextPreviousPagerField和NumericPagerField控制

    通过设置上面几个控件的配合也可以达到winForm下的效果,这3个控件中最重要的是TemplatePagerField控件。

    下面简单看看TemplatePagerField控件可以怎么设置:

      1   <%@ Page language="VB" %>
      2 
      3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      4     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      5 
      6 <script runat="server">
      7 
      8   Protected Sub TemplatePagerField_OnPagerCommand(ByVal sender As Object, _
      9     ByVal e As DataPagerCommandEventArgs)
     10 
     11     ' Check which button raised the event
     12     Select Case e.CommandName
     13 
     14       Case "Next"
     15         Dim newIndex As Integer = e.Item.Pager.StartRowIndex + e.Item.Pager.PageSize
     16         If newIndex <= e.TotalRowCount Then
     17           e.NewStartRowIndex = newIndex
     18           e.NewMaximumRows = e.Item.Pager.MaximumRows
     19         End If
     20 
     21       Case "Previous"
     22         e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.PageSize
     23         e.NewMaximumRows = e.Item.Pager.MaximumRows
     24 
     25       Case "First"
     26         e.NewStartRowIndex = 0
     27         e.NewMaximumRows = e.Item.Pager.MaximumRows
     28 
     29     End Select
     30 
     31   End Sub
     32 
     33 </script>
     34 
     35 <html xmlns="http://www.w3.org/1999/xhtml" >
     36   <head id="Head1" runat="server">
     37     <title>TemplatePagerField.OnPagerCommand Example</title>    
     38     <style type="text/css">
     39       body     
     40       {
     41           text-align: center;
     42           font: 12px Arial, Helvetica, sans-serif;
     43       }
     44       .item
     45       {
     46         border: solid 1px #2F4F4F;
     47         background: #E6E6FA;
     48       }
     49     </style>
     50   </head>
     51   <body>
     52     <form id="form1" runat="server">
     53 
     54       <h3>TemplatePagerField.OnPagerCommand Example</h3>
     55 
     56       <asp:ListView ID="StoresListView" 
     57         DataSourceID="StoresDataSource"
     58         runat="server">
     59         <LayoutTemplate>
     60           <table width="350" runat="server" id="tblStore">
     61             <tr runat="server">
     62               <th runat="server">ID</th>
     63               <th runat="server">Store Name</th>
     64             </tr>
     65             <tr id="itemPlaceholder" runat="server">
     66             </tr>
     67           </table>
     68          </LayoutTemplate>
     69          <ItemTemplate>
     70           <tr runat="server">
     71             <td class="item">
     72               <asp:Label ID="IDLabel" runat="server" Text='<%#Eval("CustomerID") %>' />
     73             </td>            
     74             <td align="left" class="item">
     75               <asp:Label ID="NameLabel" runat="server" Text='<%#Eval("Name")%>' />
     76             </td>
     77           </tr>
     78         </ItemTemplate>
     79       </asp:ListView>
     80       <br />
     81 
     82       <asp:DataPager runat="server" 
     83         ID="ContactsDataPager" 
     84         PageSize="30"
     85         PagedControlID="StoresListView">
     86         <Fields>
     87           <asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand">
     88             <PagerTemplate> 
     89               <asp:LinkButton ID="FirstButton" runat="server" CommandName="First" 
     90                 Text="<<" Enabled='<%# Container.StartRowIndex > 0 %>' />
     91               <asp:LinkButton ID="PreviousButton" runat="server" CommandName="Previous" 
     92                 Text='<%# (Container.StartRowIndex - Container.PageSize + 1) & " - " & (Container.StartRowIndex) %>'
     93                 Visible='<%# Container.StartRowIndex > 0 %>' />
     94               <asp:Label ID="CurrentPageLabel" runat="server"
     95                 Text='<%# (Container.StartRowIndex + 1) & "-" & (IIf(Container.StartRowIndex + Container.PageSize > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize)) %>' />
     96               <asp:LinkButton ID="NextButton" runat="server" CommandName="Next"
     97                 Text='<%# (Container.StartRowIndex + Container.PageSize + 1) & " - " & (IIf(Container.StartRowIndex + Container.PageSize*2 > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize*2)) %>' 
     98                 Visible='<%# (Container.StartRowIndex + Container.PageSize) < Container.TotalRowCount %>' />
     99             </PagerTemplate>
    100           </asp:TemplatePagerField>
    101         </Fields>
    102       </asp:DataPager>     
    103 
    104       <asp:SqlDataSource ID="StoresDataSource" runat="server" 
    105             ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
    106             SelectCommand="SELECT [CustomerID], [Name] FROM Sales.Store ORDER BY [Name]">
    107       </asp:SqlDataSource>
    108 
    109     </form>
    110   </body>
    111 </html>

    参考:https://msdn.microsoft.com/zh-SG/library/system.web.ui.webcontrols.templatepagerfield.pagercommand.aspx

            https://msdn.microsoft.com/zh-cn/library/system.windows.controls.datapager(v=VS.95).aspx

  • 相关阅读:
    常用的文件查看命令
    Linux常用快捷按键
    寒冬储粮
    创建型模式:抽象工厂
    创建型模式:工厂方法
    创建型模式:单例模式
    开闭原则
    迪米特法则
    接口隔离原则
    依赖倒置原则
  • 原文地址:https://www.cnblogs.com/Olimpic2008/p/4295085.html
Copyright © 2011-2022 走看看