GridView 始終顯示 Pager 分頁行的一種方法

來源:互聯網
上載者:User

最近一直在使用 ASP.NET,由於之前大部分工作都是使用 WinForm,對 ASP.NET 的理解還只是停留在表面,所以藉著這次機會,深入的研究一下 ASP.NET。原則是盡量使用 ASP.NET 的編程模型和 Web 控制項實現業務互動。

GridView 是 ASP.NET 2.0 新增加的 Web 控制項,擁有比 DataGrid 更多的擴充和改進。使用 GridView 可以很容易的實現資料分頁,但是遺憾的是,在預設情況下,當僅有一頁資料時, GridView 不顯示 Pager 分頁行,這非常讓人鬱悶。

在網上搜尋了一下解決此問題的有關方法,基本的思路都是使用自訂 Pager,自己實現分頁顯示。這個思路很好,可是我的應用程式並不複雜,對分頁也沒有特殊的要求,只是能顯示就好,為了這麼點要求重寫寫那麼多代碼,太不划算。有沒有好的解決方案呢?

還真不是沒辦法,我發現 GridView 的 Controls 集合中包括了 Header、DataRow、Footer、Pager等等所有可以顯示的行,而且不管有沒有顯示,這些行都包含在 Controls 集合中,只不過僅有一頁資料時,Pager 行的 Visible 屬性被設定為了 false。既然如此,只要在資料繫結結束後把 Pager 行的 Visible 重新設定為 true 不就解決問題了嗎?下面是解決方案:

 

    public static void gridView_DataBound(object sender, EventArgs e)
    {
        if (gridView.Rows.Count != 0)
        {
            Control table = gridView.Controls[0];
            int count = table.Controls.Count;
            table.Controls[count - 1].Visible = true;
        }
    }

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.