2015-10-15 73 views
0

是否可以在運行時添加列?假設我有一組分頁數據,第1頁上有4列,第2頁上有相同的4列加上1多個不同的列,第3頁上有與第1頁相同的4列,但與第2頁不同,有2列。ShieldUI Grid - 在運行時添加列


第1點的列中的數據和在網格所示:

File, DocName, PrintDate, Event 

頁2列中的數據和在網格所示:

File, DocName, PrintDate, Event, Person 

頁數據3列:

在網格顯示
File, DocName, PrintDate, Event, RunDate, Designation 

第3列:

File, DocName, PrintDate, Event, Person, RunDate, Designation 

和機動來回的頁面之間時,他們都將留在網格中。

回答

1

您可以通過將所有要在網格中顯示的列添加到所有頁面來完成此操作。

然後,裝網格時,隱藏不應該是可見的第一頁,通過使用該功能的列: http://www.shieldui.com/documentation/grid/javascript/api/methods/hideColumn

然後附加一個「變」事件處理網格尋呼機:

$("#grid").swidget().pager.on("change", function(e) { 
    var currentPage = this.currentPage; 

    // hide the cols not supposed to be visible on this page 
    // and show the rest - using the grid's hideColumn() and 
    // showColumn() functions 
    // ... 
}); 
+0

直到獲取記錄纔會知道所有頁面顯示的列。可能有超過15,000條記錄,並且需要1-2分鐘才能通過Web服務從服務器檢索數據。 – MB34

+0

您可以在獲取數據後執行初始化 - 有捕獲該數據的「dataBound」事件。 –