华域联盟 .Net 浅谈VS中的DataPager分页

浅谈VS中的DataPager分页

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

winform下的DataPager 显示模式:

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

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

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

复制代码 代码如下:

  <%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub TemplatePagerField_OnPagerCommand(ByVal sender As Object, _

    ByVal e As DataPagerCommandEventArgs)

    ' Check which button raised the event

    Select Case e.CommandName

      Case "Next"

        Dim newIndex As Integer = e.Item.Pager.StartRowIndex + e.Item.Pager.PageSize

        If newIndex <= e.TotalRowCount Then

          e.NewStartRowIndex = newIndex

          e.NewMaximumRows = e.Item.Pager.MaximumRows

        End If

      Case "Previous"

        e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.PageSize

        e.NewMaximumRows = e.Item.Pager.MaximumRows

      Case "First"

        e.NewStartRowIndex = 0

        e.NewMaximumRows = e.Item.Pager.MaximumRows

    End Select

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head id="Head1" runat="server">

    <title>TemplatePagerField.OnPagerCommand Example</title>   

    <style type="text/css">

      body    

      {

          text-align: center;

          font: 12px Arial, Helvetica, sans-serif;

      }

      .item

      {

        border: solid 1px #2F4F4F;

        background: #E6E6FA;

      }

    </style>

  </head>

  <body>

    <form id="form1" runat="server">

      <h3>TemplatePagerField.OnPagerCommand Example</h3>

      <asp:ListView ID="StoresListView"

        DataSourceID="StoresDataSource"

        runat="server">

        <LayoutTemplate>

          <table width="350" runat="server" id="tblStore">

            <tr runat="server">

              <th runat="server">ID</th>

              <th runat="server">Store Name</th>

            </tr>

            <tr id="itemPlaceholder" runat="server">

            </tr>

          </table>

         </LayoutTemplate>

         <ItemTemplate>

          <tr runat="server">

            <td class="item">

              <asp:Label ID="IDLabel" runat="server" Text='<%#Eval("CustomerID") %>' />

            </td>           

            <td align="left" class="item">

              <asp:Label ID="NameLabel" runat="server" Text='<%#Eval("Name")%>' />

            </td>

          </tr>

        </ItemTemplate>

      </asp:ListView>

      <br />

      <asp:DataPager runat="server"

        ID="ContactsDataPager"

        PageSize="30"

        PagedControlID="StoresListView">

        <Fields>

          <asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand">

            <PagerTemplate>

              <asp:LinkButton ID="FirstButton" runat="server" CommandName="First"

                Text="<<" Enabled='<%# Container.StartRowIndex > 0 %>' />

              <asp:LinkButton ID="PreviousButton" runat="server" CommandName="Previous"

                Text='<%# (Container.StartRowIndex - Container.PageSize + 1) & " - " & (Container.StartRowIndex) %>'

                Visible='<%# Container.StartRowIndex > 0 %>' />

              <asp:Label ID="CurrentPageLabel" runat="server"

                Text='<%# (Container.StartRowIndex + 1) & "-" & (IIf(Container.StartRowIndex + Container.PageSize > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize)) %>' />

              <asp:LinkButton ID="NextButton" runat="server" CommandName="Next"

                Text='<%# (Container.StartRowIndex + Container.PageSize + 1) & " - " & (IIf(Container.StartRowIndex + Container.PageSize*2 > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize*2)) %>'

                Visible='<%# (Container.StartRowIndex + Container.PageSize) < Container.TotalRowCount %>' />

            </PagerTemplate>

          </asp:TemplatePagerField>

        </Fields>

      </asp:DataPager>    

      <asp:SqlDataSource ID="StoresDataSource" runat="server"

            ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"

            SelectCommand="SELECT [CustomerID], [Name] FROM Sales.Store ORDER BY [Name]">

      </asp:SqlDataSource>

    </form>

  </body>

</html>

您可能感兴趣的文章:

  • asp.net中让Repeater和GridView支持DataPager分页
  • asp.net实现简单分页实例
  • asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页
  • ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedList.Mvc)
  • Asp.net GridView使用大全(分页实现)
  • asp.net中gridview的查询、分页、编辑更新、删除的实例代码
  • Asp.Net数据控件引用AspNetPager.dll分页实现代码
  • asp.net分页控件AspNetPager的样式美化
  • ASP.NET 高性能分页代码

本文由 华域联盟 原创撰写:华域联盟 » 浅谈VS中的DataPager分页

转载请保留出处和原文链接:https://www.cnhackhy.com/56429.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部