2015-02-11 86 views
0

當我調用這樣的事件「reloadGrid」事件亞格的jqGrid - 上reloadGrid(父網格自動加載)亞格崩潰

$('#subgrid_id').trigger("reloadGrid"); 

父網格重裝以及摺疊亞格並刪除所有子網格HTML代碼。

如何防止此行爲並僅重新加載子網格?

我正在使用jQgrid 4.5.2。

+1

你應該包括更多關於你所做的事情的細節。你使用什麼樣的子網格?它是否爲子網格?哪個'datatype'有子網格和主網格?你是否單獨加載*網格數據和子網格數據,或者一次加載所有數據*(對於主網格)並且使用* local *數據作爲子網格數據? ... – Oleg 2015-02-11 15:59:58

+0

感謝您的回放, 它是網格作爲子網格,我試圖重新加載。 數據類型是JSON。 我使用dataUrl從服務器分別加載網格和子網格。 – iPeleg 2015-02-11 16:01:27

+1

我的意思是:你的代碼有錯誤,但是隻能從代碼的描述中找不到錯誤。一個人必須看到代碼本身。如果你執行'$('#subgrid_id')。trigger(「reloadGrid」)'然後**只有子網格應該被重新加載。可能你以一種錯誤的方式構造了子網格標識符,並且你有可能從一千個可能的問題中得到了其他信息。 – Oleg 2015-02-11 16:09:51

回答

1

你應該驗證你如何在subGridRowExpanded回調裏面建立子網格id。它與子網格一起工作,完全控制子網格的所有ID以及主網格和子網格的所有rowid是非常重要的。所有的ID必須是唯一的。您應該基於subGridRowExpanded回調的第一個參數構建子網格的標識,或者通過調用方法$.jgrid.randId()在每次調用時返回唯一標識。

我強烈建議您爲子網格另外使用唯一的idPrefix選項。您可以基於subGridRowExpanded回撥的輸入參數建立idPrefix選項的值。然後rowid會根據數據的id建立,但是id將會有前綴。例如,您可以使用第二個參數rowid,其後綴爲idPrefix: rowid + "_s_"。因此,如果您的主網格數據的ID爲10,20,30 ...,並且子網格的數據包含ID 10,15,20,則jqGrid將使用子網格的rowid:20_s_10,20_s_15,20_s_20用於子網格打開主電網ID 20的行。我希望我不要把你和這個例子混淆起來。無論如何,我建議你打開你的網格的2-3個子網格,並仔細檢查哪些ID具有每個子網格和主網格行的子網格。你應該找不到重複的id。