2013-01-18 51 views
1

我甚至從jqGrid的閱讀documentation後駕車狂用這個..的jqGrid - 編輯:真不工作

,之前使用該網格有(成功),現在我無法編輯單元格。

我甚至註釋的代碼下面幾行離開它的一個重要組成部分:

function initGridProjectDetail(options) { 
    $("#" + options.table).jqGrid({ 
     url: options.dataUrl, 
     colModel: [ 
      {name: 'CategoryName', label: 'Kategorie', editable: true } 
     ], 
     jsonReader: { id: 'Id' } 
    }); 
} 

還有什麼能不能夠編輯該小區的原因是什麼?謝謝您的幫助。

注意:網格呈現,有內容,甚至排序工作。唯一缺少的是「可編輯」功能。

+0

請張貼您的inlineNav方法。還要確保之前調用了navGrid方法。 http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing#inlinenav – Kris

+0

我正在使用示例:http://www.trirand.com/jqgridwiki/doku.php?id=wiki: inline_editing#示例,並且他們不使用inlineNav方法。沒有它,不應該這樣工作嗎? – Dryadwoods

+0

您應該決定要使用哪種[編輯模式](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgriddocs#editing):單元格編輯,內聯編輯或表單編輯。網格中選擇的編輯模式有不同的選項。如何讓用戶激活編輯單元格或行:單擊/雙擊單元格/行,選擇行並單擊工具欄上的按鈕('navGrid'或'inlineNav'methods)或內聯按鈕('格式化程序:「操作」)等等。在編輯單元格的情況下,您需要使用'cellEdit:true'選項。 – Oleg

回答

0

我認爲你應該只使用jQuery(this)而不是jQuery("#" + options.table)。您可以在每個回調中使用$(this)jQuery(this)。您應另外驗證您是否定義了變量lastsel2

+0

@Dryadwoods:不客氣! – Oleg

0

這完全是我的錯。

onSelectRow: function (id) { 
      if (id && id !== lastsel2) { 
       jQuery("#" + options.table).restoreRow(lastsel2); 
       jQuery("#" + options.table).editRow(id, true); 
       lastsel2 = id; 
      } 
     }, 

從示例源的複製粘貼我離開了錯誤的表ID。 我很欣賞奧列格的最後一條評論,因爲這讓我看到了這一點。請寫一個答案接受它作爲解決方案。

+0

如果您發佈有關該問題的其他信息,請*附上您問題的文本*。只有當你自己解決了問題並且希望與其他人分享時,你才應該自己寫答案。你再多發一次代碼。你在哪裏定義'lastsel2'和'options'等等?順便說一句,你應該更好地使用'jQuery(this)'而不是'jQuery(「#」+ options.table)''。 – Oleg

+0

奧列格,請爲這個問題添加一個新的答案,並寫下你想要的任何內容,我的問題就像我說的那樣解決(因爲你的評論),因爲我不能選擇一個評論作爲有效的答案,那麼請按照我說。然後我會選擇它作爲接受的答案。 – Dryadwoods