2010-06-07 65 views
2

是否有jqGrid的辦法有,在這個colModel示例使用一個選擇像一個可編輯的列:的jqGrid:可編輯欄始終顯示選擇

{ 
name: 'Options', 
index: 'Options', 
width: 150, 
align: 'left', 
resizable: false, 
editable: true, 
edittype: 'select', 
editoptions: { 
    value: function() { return buildSelect(); } 
}, 
formatter: 'select' 
} 

,但始終顯示選擇?

我以前用複選框工作過,但似乎沒有辦法用選擇。理想情況下,我希望這可以在celledit模式下工作。有任何想法嗎?

回答

4

一切皆有可能。我不確定,你想要的是最好的方法。在大多數情況下,我建議使用某種標準方式,那麼在更改爲您使用的控件的新版本後,您的生活將變得更加輕鬆。

不過,您可以使用自定義格式化程序(請參閱http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter)而不是formatter: 'select'來顯示列的包含方式。例如,

{ name: 'Options', width: 150, align: 'left', editable: true, edittype: 'select', 
    editoptions: { 
    value: function() { return buildSelect(); } 
    }, 
    formatter: function (cellvalue, options, rowObject, action) { 
    if (cellvalue === 'Yes') { 
     return '<select><option value="1" selected="selected">Yes</option>' + 
        '<option value="0">No</option></select>'; 
    } else { 
     return '<select><option value="1">Yes</option>' + 
        '<option value="0" selected="selected">No</option></select>'; 
    } 
    } 
} 

可以被用來顯示與select「是」和「否」值,而不是默認的電流值(「是」或「否」)。您還可以綁定這樣的select元素的change句柄的某個函數。

+0

好東西。發現。我是否還需要使單元格可編輯(並使用editoptions),還是將網格存儲自定義格式器中創建的下拉列表中的選定值? – Nigel 2010-06-07 23:07:21

+0

自定義格式化程序只顯示數據。要能夠更改數據並在服務器上保存更改的值,您必須使用任何編輯模式(單元格編輯/內聯編輯或表單編輯),請參閱http://www.trirand.com/jqgridwiki/doku.php?id=維基:jqgriddocs#編輯。 – Oleg 2010-06-07 23:23:15