2010-07-27 77 views
2

有沒有什麼辦法強制jqGrid不去除其行被切換時刪除子網格數據?我的用於裝載數據網格當前過程如下:子網格緩存或停止子網格數據被刪除(jqGrid)

1)安裝主電網,設置次網格了編程與ID,我可以使用稍後

2)通過JSON將數據裝載到本地主電網

3)通過json在本地向子網格添加數據

由於我在用戶切換(隱藏然後重新顯示)時在網格中本地加載子網格而不是通過URL加載,並且網格中沒有任何數據,我希望它顯示提供給子網格的原始數據。

我知道,這似乎是加載數據的一個奇怪的方式,但還有一個原因

我所currenty與jqGrid的做的是顯示一個網頁上成噸的保險信息(主要是這是一份報告)。這個網頁應該自動加載所有的數據,並且我有許多需要提供子網格功能的實例。我已經想出瞭如何通過手動強制發生點擊事件來完成此操作,以便顯示子網格,但是,如果用戶單擊子網格,則會再次消失並且不會返回。

如果您對此有任何建議,請讓我知道。

此外,如果您認爲有更好的方法讓所有數據自動顯示,請讓我知道。到目前爲止,我發現jqGrid很容易處理,但我一直強迫它做它本來沒有做的事情,比如在頁腳行中添加總值。

非常感謝您的幫助。

回答

2

你想要做的是防止jqGrid在擴展行時重新加載子網格數據。此控制旋鈕位於jqGrid的subGridOptions屬性中。 subGridOptions對象有一個名爲reloadOnExpand的布爾屬性,它控制着這個確切的行爲。

當你初始化jqGrid的對象,只要確保這個屬性設置爲false,如下圖所示:在頁面上

jQuery("#gridId").jqGrid({ 
    // ... other properties ... 
    subGrid: true, 
    subGridOptions: { 
     reloadOnExpand: false // Prevent jqGrid from wiping out the subgrid data. 
    }, 
    subGridRowExpanded: subGridExpandCallback, 
    // ... other properties ... 

我能找到這段代碼的唯一地方是做一個「查看源文件」在他們的演示網站上提到了這種行爲。本帖子發佈時的演示頁面爲:http://www.trirand.com/blog/phpjqgrid/examples/hierarchy/subgrid_loadonce/default.php