1. 程式人生 > >怎樣通過AspNetPager實現分頁功能

怎樣通過AspNetPager實現分頁功能

    對於牛腩視訊中的最後一集,在實現分頁的時候,視訊裡關於假分頁也沒有實現,所以在看了別人的部落格,以及找了找資料,終於搞定了,下面分享一下我的製作過程。 

    總的來說,這裡面最主要的部分就是儲存過程的編寫,以及在AspNetPager怎樣傳輸資料。

1.首先是頁面,總得要有地方顯示。那麼問題來了,按照視訊上所講,只用AspNetPager來實現,只顯示頁數,沒有資料時不可能的,所以我們需要將其和gridview控制元件合起來使用。

   點選gridview空間右上角出現的 編輯列 按鈕,進行資料繫結。點選BoundField進行新增,可以得到下圖:


    最後點選確定,得到頁面結果,在這裡如果出現了多餘的自己不想要的列數,我們可以通過設定AutoGenerateColumns的屬性進行修改


2.頁面搞定了,那麼資料我們怎樣獲得,首先我們從後往前來,在這裡,我們先編寫儲存過程。

<span style="font-family:KaiTi_GB2312;font-size:24px;">-- =============================================
-- Author:		王金博
-- Create date: 2014年10月28日09:54:11
-- Description:	分頁製作
-- =============================================
ALTER PROCEDURE [dbo].[partPage]
	@startIndex int, --查詢開始記錄數
	@endIndex int    --結束記錄數
AS
BEGIN

	with temptbl as (
	SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS 行號, * from news  --使得記錄按順序排列,按行號查詢
)
SELECT * FROM temptbl where 行號 between @startIndex and @endIndex

END</span>

3.接下來就是D層,但是SqlHelper的編寫已包含所有情況,所以不用改變。

<span style="font-family:KaiTi_GB2312;font-size:24px;">  /// <summary>
        /// 按頁進行顯示
        /// </summary>
        /// <param name="startIndex">開始記錄數</param>
        /// <param name="endIndex">結束記錄數</param>
        /// <returns></returns>
        public DataTable SelectByPage(int startIndex, int endIndex)
        {
            DataTable dt = new DataTable();
            string cmdText = "partPage";
            SqlParameter[] paras = new SqlParameter[]{
                new SqlParameter ("@startIndex",startIndex ),
                new SqlParameter ("@endIndex",endIndex )
            };
            dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);
            return dt;
        }</span>

4.最後是U層程式碼,這裡由於B層和Model層,大家都能理解,就不再詳解。

<span style="font-family:KaiTi_GB2312;font-size:24px;">public partial class test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //重新繫結資料
            ReBind();
            
        }
    }
    protected void anp_PageChanged(object sender, EventArgs e)
    {
        //重新繫結資料
        ReBind();
    }

    private void ReBind()
    {
        Response.Write("開始記錄數:" + anp.StartRecordIndex + "<br>結束記錄數:" + anp.EndRecordIndex);
        DataTable dt = new DataTable();
        dt = new NewsManager().SelectAll();//選擇所有新聞
        anp.RecordCount = dt.Rows.Count; //記錄總數 
        //開始繫結記錄
        int startIndex = anp.StartRecordIndex; //開始記錄數
        int endIndex = anp.EndRecordIndex; //結束記錄數
        dt = new NewsManager().SelectByPage(startIndex, endIndex);
        gvNews.DataSource = dt;
        gvNews.DataBind();

    }
}</span>
    這個分頁功能在視訊中並沒有實現,也有很多人就止步於此了,但是我們要的是敢於去做,即使沒有實現,。記得小時候我們都學過《為學》這篇課文,現在想想古人的智慧太厲害了,天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。    所以,只要去做,你就會發現,沒有什麼難的了你。

相關推薦

怎樣通過AspNetPager實現功能

    對於牛腩視訊中的最後一集,在實現分頁的時候,視訊裡關於假分頁也沒有實現,所以在看了別人的部落格,以及找了找資料,終於搞定了,下面分享一下我的製作過程。      總的來說,這裡面最主要的部分就

java實現功能的類

oid gen asf agen pre 首頁 != eno true package smn.util; public class Pager { private int pageNow; private int pageSize=4; pri

ListView實現功能

ryu uem col events dac com 引入 fct ole 1.ViewPager實現Tab 目錄結構: 主布局文件: activity_main.xml 引入頭,尾,中間區域是一個ViewPager 頂部與底部文件寫固定高度,中間View

jQuery WeUI實現功能

ini turn pla ++ font 狀態 pre ffffff document 使用前記得先引入:weui.min.css、jquery-weui.min.css、jquery-weui.min.js 第一步:將下面的代碼放在body結束標簽上面(這個位置可以自

[ Laravel 5.5 文檔 ] 數據庫操作 —— 在 Laravel 中輕松實現功能

pub thp erp 不能 res bootstrap 自己的 post 自動 ? 簡介 在其他框架中,分頁是件非常痛苦的事,Laravel 讓這件事變得簡單易於上手。Laravel 的分頁器與查詢構建器和 Eloquent ORM 集成在一起,並開箱提供方便的、易於使用

HTML 基於 Python 實現功能

ner mode 一個 div 樣式 def navi itl import 前面的話: 1. 網頁引用的bootstrap 中的表格,所以需要引入樣式類 2. 第一次寫文章,不喜勿噴。有不足的地方,可留言我改正,在此先謝過。 HTML代碼: <

django實現功能

在個人部落格或者網站上,我們發表文章經常會對部落格進行分頁,下面程式碼用django實現: django有它自帶的分頁功能:Paginator 不過我們用在它基礎上開發的另一個包:django-pure-pagination  先了解一下這個包特性: 1、使用與django.core相同的A

SSM框架中實現功能

我們在前端頁面上要訪問某個資源時, 直接點選, 頁面就會重新整理並展示給我們相應的資料資訊. 雖然是一個很簡單的操作, 可是頁面後端卻給我們做出了多層業務邏輯的操作. 下面我們來分析一下一個使用者在點選檢視 訂單管理 後, 後臺程式碼為實現該功能所執行的步驟:   1.

mui框架實現功能

mui是一個類似於原生的UI框架,使用它可以實現更多接近原生的功能。今天要講的是mui的分頁功能(上拉載入): 1、首頁需要引入mui.js這個去官網可以下載的 2、需要用mui標籤將大的盒子包裹起來: <div id="refreshContainer" class="mui-s

js呼叫ajax根據後臺返回的總數前端設定每的條數實現功能

有時候前端需要實現分頁功能,但是後臺只給我們返回來總數,每頁顯示多少條資料需要我們前端來設定,貌似這個有點欺負人,哈哈哈。。話不多說直接上程式碼: (這裡需要用到layui外掛,js檔案自己去官網下載哦) var pageNumber=1;//第幾頁 var sumCount=0; //總共

JSP實現功能

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

PHP 實現功能

在網站中,如果list頁內容太多,一般會設定分頁功能,今天我們一起來研究一下分頁原理,通過一個小案例實現這個功能. 分頁原理 分頁顯示,將從mysql資料庫取出的資料有規律的一段段展示,利用sql語句中的limit,將它的起始資料跟頁數繫結,根據頁數去資料庫取資料 例如:假設資料庫表名為list,每頁取

在框架模式下實現功能(原理)

目標:在Struts2框架中,使用分層架構方式實現分頁功能。 過程:Bean層->Dao層->Services層->Action層->Jsp頁面 具體實現: 1.Bean層       1)首先建立PageB

spring boot 整合mybatis實現功能的例項

1.匯入依賴 在你pom.xml檔案中新增如下整合 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc

Mybatis實現功能

由於我之前有一篇部落格寫到實現分頁功能,簡單的分頁功能,但是如果我們有多個頁面,就需要每一個頁面都寫一個這個麻煩的程式碼,顯得非常的愚笨。於是出現了Mybatis分頁,有點類似於Spring的AOP(這裡不講解)。 首先,我們是想一個特定查詢的語句執行的時候需要進行攔截,執

IDEA整合SSM,並使用PageHelper實現功能

使用到的技術: Spring、SpringMVC、Mybatis Maven MySQL Bootstrap PageHelper 準備工作: 建立一個Maven專案,選擇webapp 在pom檔案中新增所需依賴 <?xml version="1

ajax實現功能

 整體思路:將頁號傳遞到後臺PHP程式,PHP程式根據頁號,從資料表中查詢對應的內容,再返回給前端的ajax程式,最後顯示. 引用ajax分頁外掛:是一個基於jQuery的分頁外掛-pagination。     &

基於Mybatis外掛PageHelper實現功能

使用PageHelper外掛實現分頁功能 分頁的功能幾乎是所有專案必備的功能,在SSM(spring 、springmvc、mybatis)組織的專案中如何實現分頁呢? 下面介紹一種基於mybatis的分頁外掛PageHelper來幫助我們實現分頁的功能。

SSM框架整合PageHelper外掛,實現功能

本文簡單的介紹瞭如何運用PageHelper外掛實現分頁功能。 一、在 pom.xml 中新增如下依賴: 從下面的地址中檢視最新版本的 jar 包 <!-- 新增分佈外掛的包pageh

Extjs與struts2的jsonplugin實現功能

  步驟1、寫伺服器端程式碼,輸出json資料。 package com.voicesoft.agentbrowser.web.actions; import java.util.ArrayList; import java.util.HashMap; import jav