2017-02-09 36 views
0

這裏有兩個不同的表@Oleg提出:的jqGrid:採摘整個行VS單擊的單元格

first一個,點擊單個細胞的時候 - 整個行挑選。

second之一,只有被點擊的單元被選中。

這是用cellEdit: true控制的。

我想要一個將cellEdit設置爲false的邏輯,但僅限於某些行(在某些情況下,爲了簡單起見,假設單元格的值低於100時會發生這種情況)。

這是如何實現的?

+0

你提的問題不夠清楚,因爲你使用的參考演示,它使用* *單元格編輯**模式,但是您會爲行編寫一些規則,這些規則更符合**內聯編輯**模式。通過向細胞核細胞中加入「not-editable-cell」類(使用'cellattr'),可以禁止一些**細胞**的編輯(在細胞編輯模式下)。通過在相應的行中添加「not-editable-row」類(使用'rowattr'),可以禁用某些**行的編輯**(在內聯編輯模式下)。您想要使用單元格編輯還是內聯編輯? – Oleg

+0

@ Oleg,謝謝。那麼,我有一個後續問題:我遇到[this](http://www.ok-soft-gmbh.com/jqGrid/CustomFormAndInlineEdit.htm)示例網格。當選擇某行並更改「類別」列中的值,然後選擇另一行時,選取的值不會保存,並且會恢復爲其初始值。你能給我一個例子,其中的價值是實際更新,而不是恢復? – HeyJude

+0

@Oleg,我想在第三個項目符號上做你提供的[這裏](http://stackoverflow.com/a/9974305/3002584):「你可以實現在onSelectRow中保存當前編輯行或者其他回調「。 – HeyJude

回答

0

要允許編輯某列中的數據,必須在列中指定editable屬性。 Free jqGrid允許使用回調函數作爲editable屬性的值。回調應該返回布爾值,通知jqGrid,單元格是否可編輯。 The wiki article描述了更詳細的功能。例如,在一些列colModel以下回調使細胞的編輯只有在amount列中的值小於100:

editable: function (options) { 
    var item = $(this).jqGrid("getLocalRow", options.rowid); 
    if (item.amount < 100) { 
     return false; 
    } 
    return true; 
} 
+0

謝謝!請參閱[this](http://stackoverflow.com/questions/42214322/jqgrid-make-the-select-drop-down-disappear)後續問題。 – HeyJude