asp.net使用listview分页显示数据

学了这么久的asp.net,越来越发现.net比java简单很多。虽然从程序的实现上C#和java几乎就是相同的,从写程序的时间来看asp.net要比javaweb要快很多,可以这么说使用学习java的方法学习asp.net或者c#是不错的选择。java就没那么多的控件可以给我们使用了。上次我写过一篇怎么使用repeater控件的文章,这次就接着上次的文章来做个listview控件来做个分页显示数据的小程序。

1.准备好一个数据集

2.新建一个aspx页面。打开设计视图,先把objectdatasource控件拖拽进去。配置一下数据源



3.把listview拖拽进来,选择下数据源

4.在listview里手动配置下模板,这里就用表格显示好了

<asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource1"  ItemContainerID= "ItemPlaceHolder">
          <LayoutTemplate>
            <table border="1" bordercolor="#00ff00" width="500" border-collapse="collapse;">
              <thead>
                <tr>
                  <td>用户名</td>
                  <td>密码</td>
                </tr>
              </thead>
              <tbody>
                <asp:PlaceHolder runat="server" ID="ItemPlaceHolder"></asp:PlaceHolder>
              </tbody>
            </table>
            <asp:DataPager runat="server" ID="ContactsDataPager" PageSize="5">
                <Fields>
               
              
                  <asp:NextPreviousPagerField ShowFirstPageButton="true" ShowLastPageButton="true"
                   FirstPageText="首页" LastPageText="尾页"
                   NextPageText="下一页" PreviousPageText="上一页"/>

                </Fields>
            </asp:DataPager>
          
          </LayoutTemplate>
          <ItemTemplate>
            <tr>
              <td><%#Eval("FNAME")%></td>
              <td><%#Eval("FPASSWORD")%></td>
            </tr>
          </ItemTemplate>
          
        </asp:ListView>

<asp:PlaceHolder runat="server" ID="ItemPlaceHolder"></asp:PlaceHolder>这一句实际上是用来占位的,ID必须和ItemContainerID保持一致,否则会出现下面的错误


5.这里有3种可选的分页,分别是

NextPreviousPagerField,NumericPagerField,TemplatePagerField

几个重要参数如下。

pagesize:每页显示的记录数

ButtonCount:显示的分页数,例如如果有10页,但是ButtonCount=3那么可见的页数就是3页

PreviousPageText:“上一页”的显示文本

NextPageText:“下一页”的显示文本

FirstPageText:“首页”的显示文本

LastPageText:“末页”的显示文本

下面是我写的几种分页模板

<asp:NextPreviousPagerField ShowFirstPageButton="true" ShowLastPageButton="true"
                   FirstPageText="首页" LastPageText="尾页"
                   NextPageText="下一页" PreviousPageText="上一页"/>

  <asp:NumericPagerField ButtonCount="3" PreviousPageText="上一页" NextPageText="下一页" />



 <asp:TemplatePagerField>              
            <PagerTemplate>
            <b>
            第
            <asp:Label runat="server" ID="CurrentPageLabel" 
              Text="<%# Container.TotalRowCount>0 ? (Container.StartRowIndex / Container.PageSize) + 1 : 0 %>" />
            页   共
            <asp:Label runat="server" ID="TotalPagesLabel" 
              Text="<%# Math.Ceiling ((double)Container.TotalRowCount / Container.PageSize) %>" />页
           (
            共<asp:Label runat="server" ID="TotalItemsLabel" 
              Text="<%# Container.TotalRowCount%>" />
            条记录)
            <br />
            </b>
            </PagerTemplate>
          </asp:TemplatePagerField>

          <asp:NextPreviousPagerField
            ButtonType="Button"
            ShowFirstPageButton="true"
            ShowNextPageButton="false"
            ShowPreviousPageButton="false" />

          <asp:NumericPagerField 
            PreviousPageText="< Prev 10"
            NextPageText="Next 10 >"
            ButtonCount="10" />

          <asp:NextPreviousPagerField
            ButtonType="Button"
            ShowLastPageButton="true"
            ShowNextPageButton="false"
            ShowPreviousPageButton="false" />

6.数据显示效果

下面是aspx页面的全部代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="repeater.index" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <style>
     table
      {
         border-collapse:collapse;
      }

    </style>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
        DeleteMethod="Delete" InsertMethod="Insert" 
        OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
        TypeName="repeater.sources.M_STUDENTDataSetTableAdapters.M_STUDENTTableAdapter" 
        UpdateMethod="Update">
        <DeleteParameters>
            <asp:Parameter Name="Original_FID" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="FNAME" Type="String" />
            <asp:Parameter Name="FPASSWORD" Type="String" />
            <asp:Parameter Name="Original_FID" Type="Int32" />
        </UpdateParameters>
        <InsertParameters>
            <asp:Parameter Name="FNAME" Type="String" />
            <asp:Parameter Name="FPASSWORD" Type="String" />
        </InsertParameters>
    </asp:ObjectDataSource>
    <div>
    
        <asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource1"  ItemContainerID= "ItemPlaceHolder">
          <LayoutTemplate>
            <table border="1" bordercolor="#00ff00" width="500" border-collapse="collapse;">
              <thead>
                <tr>
                  <td>用户名</td>
                  <td>密码</td>
                </tr>
              </thead>
              <tbody>
                <asp:PlaceHolder runat="server" ID="ItemPlaceHolder"></asp:PlaceHolder>
              </tbody>
            </table>
            <asp:DataPager runat="server" ID="ContactsDataPager" PageSize="5">
                <Fields>
               
              
                  <asp:NextPreviousPagerField ShowFirstPageButton="true" ShowLastPageButton="true"
                   FirstPageText="首页" LastPageText="尾页"
                   NextPageText="下一页" PreviousPageText="上一页"/>

                </Fields>
            </asp:DataPager>
          
          </LayoutTemplate>
          <ItemTemplate>
            <tr>
              <td><%#Eval("FNAME")%></td>
              <td><%#Eval("FPASSWORD")%></td>
            </tr>
          </ItemTemplate>
          
        </asp:ListView>
    
    </div>
    </form>
</body>
</html>

代码我上传到资源里大家自己下载吧,有问题可以写评论给我



已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页