溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

.net如何實(shí)現(xiàn)GridView分頁(yè)模板

發(fā)布時(shí)間:2021-10-14 14:44:29 來源:億速云 閱讀:115 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了.net如何實(shí)現(xiàn)GridView分頁(yè)模板,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

代碼如下:


//要在GridView中加入如下屬性(前臺(tái)還是后臺(tái)看你的習(xí)慣了。)

//實(shí)現(xiàn)分頁(yè)

AllowPaging="true"

//一頁(yè)數(shù)據(jù)10行

 PageSize="10"

// 分頁(yè)時(shí)觸發(fā)的事件
OnPageIndexChanging="gvwDesignationName_PageIndexChanging"

//在服務(wù)器事件里

protected void gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvwDesignationName.PageIndex=e.newIndex;

bingDesignatioonName();
}


//這里我給出一個(gè)通用顯示分頁(yè)的模板

<PagerTemplate>
                當(dāng)前第:
                //((GridView)Container.NamingContainer)就是為了得到當(dāng)前的控件
                <asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageIndex + 1 %>"></asp:Label>
                頁(yè)/共:
                //得到分頁(yè)頁(yè)面的總數(shù)
                <asp:Label ID="LabelPageCount" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageCount %>"></asp:Label>
                頁(yè)
                 //如果該分頁(yè)是首分頁(yè),那么該連接就不會(huì)顯示了.同時(shí)對(duì)應(yīng)了自帶識(shí)別的命令參數(shù)CommandArgument
                <asp:LinkButton ID="LinkButtonFirstPage" runat="server" CommandArgument="First" CommandName="Page"
                    Visible='<%#((GridView)Container.NamingContainer).PageIndex != 0 %>'>首頁(yè)</asp:LinkButton>
                <asp:LinkButton ID="LinkButtonPreviousPage" runat="server" CommandArgument="Prev"
                    CommandName="Page" Visible='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'>上一頁(yè)</asp:LinkButton>
               //如果該分頁(yè)是尾頁(yè),那么該連接就不會(huì)顯示了
                <asp:LinkButton ID="LinkButtonNextPage" runat="server" CommandArgument="Next" CommandName="Page"
                    Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>下一頁(yè)</asp:LinkButton>
                <asp:LinkButton ID="LinkButtonLastPage" runat="server" CommandArgument="Last" CommandName="Page"
                    Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>尾頁(yè)</asp:LinkButton>
                轉(zhuǎn)到第
                <asp:TextBox ID="txtNewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />頁(yè)
                //這里將CommandArgument即使點(diǎn)擊該按鈕e.newIndex 值為3
                <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-2"
                    CommandName="Page" Text="GO" />
            </PagerTemplate>

//對(duì)應(yīng)該事件中代碼為


 protected void gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        // 得到該控件
        GridView theGrid = sender as GridView;
        int newPageIndex = 0;
        if (e.NewPageIndex==-3)
        {
            //點(diǎn)擊了Go按鈕
            TextBox txtNewPageIndex = null;

            //GridView較DataGrid提供了更多的API,獲取分頁(yè)塊可以使用BottomPagerRow 或者TopPagerRow,當(dāng)然還增加了HeaderRow和FooterRow
            GridViewRow pagerRow = theGrid.BottomPagerRow;

            if (pagerRow != null)
            {
                //得到text控件
                txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox;   
            }
            if ( txtNewPageIndex!= null)
            {
                //得到索引
                newPageIndex = int.Parse(txtNewPageIndex.Text) - 1;
            }
        }
        else
        {
            //點(diǎn)擊了其他的按鈕
            newPageIndex = e.NewPageIndex;
        }
        //防止新索引溢出
        newPageIndex = newPageIndex < 0 ? 0 : newPageIndex;
        newPageIndex = newPageIndex >= theGrid.PageCount ? theGrid.PageCount - 1 : newPageIndex;

        //得到新的值
        theGrid.PageIndex = newPageIndex;

         //重新綁定
        bingDesignatioonName();
    }

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“.net如何實(shí)現(xiàn)GridView分頁(yè)模板”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI