DWZ table的原生分頁淺談

來源:互聯網
上載者:User

最近在項目開發當中很少會用到DWZ原生的table分頁,往往是使用jqgrid or grid這種第三方資料繫結的表格外掛程式,如今在項目中要求了,就必須要使用DWZ內建的table了

接下來看一段代碼,我會給大家詳細介紹DWZ中table分頁的使用方式,以下是在MVC中實現的方式。

?<div class="pagination" targetType="navTab" totalCount="@ViewBag.totalCount" numPerPage="@ViewBag.numPerPage" pageNumShown="@ViewBag.pageNumShown" <BR>currentPage="@ViewBag.currentPage"></div>
 屬性介紹

targetType:綁定方式,DWZ這裡提供了"navTab" and "dialog"這兩種方式,顧名思義就是分頁是在標籤頁上還是彈出層上

totalCount:資料總行數

numPerPage:當前頁資料行數

pageNumShown:總頁數

currentPage:當前頁碼

複製代碼 代碼如下:
@using (Html.BeginForm("BidPrjList", "TbUnify", null, FormMethod.Post, new { id = "pagerForm" }))
{
    <input type="hidden" name="pageNum" value="1" />
    <input type="hidden" name="numPerPage" value="@ViewBag.numPerPage" />
}

注意DWZ下分頁的表單必須加上id="pagerForm"屬性,否則不會執行。DWZ中表格的分頁實質是將分頁的方式以表單提交的形式傳遞至後台,由後台接收參數,擷取分頁資訊:例如:

複製代碼 代碼如下:
Request.Form["numPerPage"]

擷取分頁資訊表單的值就是你在View中pagerForm表單下定義隱藏文本域的name,在後台接收後去請求資料來源中分頁後的資料,再返回至前台。

而這裡存在一個小問題:首次進入此頁面時,是無法觸發當前分頁的的表單提交事件的,所以在上面我定義了ViewBag.numPerPage動態賦值,每頁分取多少條資料,前台介面只是將分頁樣式定義,實質資料沒有綁定,所以必須要將前台傳遞過來的分頁資訊作為後台資料分頁的依據,這樣前台的分頁才能與資料對接一致,不會造成錯亂,這點要注意。

在實際項目的開發當中,我們總會把表格與過濾條件放在一起,DWZ中表格傳入限制條件的方式也很簡單,如上在分頁表單上加入需要傳入的隱藏文本域例如:

複製代碼 代碼如下:
<input type="hidden" name = "Common_TbUnify_BidPrjList_HtxtPrjName" />

這樣在後台就能夠接受到傳入的過濾條件了。

DWZ 的table分頁實質是將當前標籤頁的資料reload,致使標籤頁重新整理,若限制條件與分頁共同使用時,這樣就會存在一個問題,頁面reload後會使你 的過濾條件丟失,而這裡我解決的辦法還是在分頁的表單中加入隱藏文本域,每次把過濾條件賦值,在後台判斷是否為空白,是否加入過濾條件,希望大家能夠注意這 點。

最後再說一點,在上面介紹了targetType,表示當前分頁的方式與分頁實質是標 簽頁的重新整理,所以如果我們把包含table的View層作為部分頁用非同步去進行載入時,就會發現,DWZ的分頁控制項是不會顯示的,也就無法分頁,在上面已 經告訴大家每次分頁是要指定type的,如果使用$.load或者@Html.Partial都是只能載入出第一頁的資料,這也是DWZ中存在缺陷的地方吧,畢竟DWZ的興起也是近年,還是存在很多問題與BUG的,尤其是他的table分頁與資料繫結真心不好用,但是總體來說,DWZ其他組件與樣式還是很不錯的。

好了關於DWZ table分頁今天就介紹到這裡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.