2013-03-25 69 views
-1

我正在創建一個表單,它將顯示基於XML數據的多個網格(4個標準網格和1個子網格)。到目前爲止,在我的所有測試中,一切正常。我已經能夠使用getRowData,getGridParam等來遍歷網格,但是在調試時,我注意到對於每個網格,行ID僅僅是從1開始的數字,看似沒有辦法區分它們。這是否會造成任何衝突?如果不是,有人可以向我解釋爲什麼?我只是希望能夠限制任何意外事件。提前致謝!在同一頁面上使用多個網格(jqGrid)時是否存在行ID衝突?

回答

1

您可以使用jqGrid的idPrefix選項來解決問題。例如,如果您有兩個網頁,則可以將idPrefix: "g1_"用於第一個網格,對於第二個網格可以使用idPrefix: "g2_"。如果兩個網格在沒有使用idPrefix選項的情況下都有ID 1,2,3,...,那麼具有idPrefix: "g1_"的網格的ID將是「g1_1」,「g1_2」,「g1_3」,...以及與idPrefix: "g2_"的網格將是「g2_1」,「g2_2」,「g2_3」,...以這種方式,你將不會有更多的id重複。

如果從服務器下載數據,則選項idPrefix特別實用。選項idPrefix更改本地僅限ID。例如,如果修改該行,則將從將被髮送到服務器的值id中刪除前綴。通過這種方式,您可以在服務器上使用來自數據庫表的本機ID工作。

+0

謝謝奧列格!這正是我需要的!唯一的問題是我們使用3.6,它看起來像idPrefix直到4.2才被引入:/如果這成爲一個問題,至少我知道有一個相當簡單的修復。 – CEN7272 2013-03-25 15:35:42

+1

@ CEN7272:不客氣!我有多個網格相同的問題。所以我建議(見[這裏](http://www.trirand.com/blog/?page_id=393/feature-request/prefixes-to-rowids/#p18336))介紹'idPrefix'。現在使用jqGrid 3.6與使用蠟燭代替電燈幾乎相同。 4年的網絡開發真的很多。在引入第一個Web瀏覽器Mosaic之前的14年之前,引入了HTML 4.01和21年。您應該在當前世界更頻繁地更新到新版本。:-) – Oleg 2013-03-25 15:48:05

+0

哈哈,如果這是我的決定,我會升級一段時間:)也許這是一種功能,將迫使我們前進。我認爲我的團隊成員已經爲網格功能制定瞭解決方案,但沒有意識到這些年來更新的程度。 – CEN7272 2013-03-25 16:01:26

0

我不知道你正在使用的網格,但我知道id應該是該網站的DOM結構內的唯一標識符。

如果電網使用,對於任何種類的操作的IDS,它可能會失敗。如果不是,即使HTML不會驗證,它也可能工作正常。

+0

這是一個很好的觀點......也許它並不真正使用'id'。我一直只使用jqGrid一段時間,所以我仍然只是學習它是如何工作的。 – CEN7272 2013-03-25 15:01:33

0

行ID應該基於您從服務器返回的數據。看到這裏的文檔部分:

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data

基本上,這是你的責任,以確保您在返回XML採用獨特id值。

+0

謝謝你。不管我們是否能夠像Oleg一樣使用idPrefix,我建議我需要仔細研究一下。我一起工作的團隊一直在使用jqGrid一段時間,因爲我不必從頭開始,我肯定有一些知識空白。 – CEN7272 2013-03-25 15:39:11

相關問題