2010-12-18 31 views
0

我使用jqGrid在表中創建了一個表格。在那我有一個組合框。我希望組合框的值能夠在前面的行中不使用。更改jqGrid中特定行下拉的值

但是,一旦我的第一行顯示,那麼我無法改變第二行comboBoc的值。例如:

例如:在我的組合框中,有三個值:one,two,three。我在第一行中選擇了「兩個」值。然後第二個組合框必須有兩個值:onethree

我曾嘗試下面的代碼:

$("#listData").setColProp('denomination', 
    {editoptions:{value:getDenominationList('addOperation').toString()}}); 

這裏..
getDenominationList('addOperation')將返回一個字符串"1:one;3:three"

但是,這是行不通的。
請給我一些想法,它的要求。
Thanx提前。

回答

0

我希望我明白你的問題是否正確,並且你想要改變value參數editoptions每次取決於當前行ID或其他網格包含。爲此,您可以自定義dataInit事件處理中(見editoptions):

dataInit: function (elem) { 
    var v = $(elem).val(); 
    var rowId = $(e.target).closest('tr.jqgrow').attr('id'); 
    var newValue = getDenominationList('addOperation').toString(); 
    $("#listData").setColProp('denomination', { editoptions: { value:newValue} }); 
} 

在你的問題中所使用的功能getDenominationList不具有rowid參數,你可能會需要。爲了簡化它,我將其包含在顯示該行的id如何得到的行上面的代碼中。

我建議你看看我最近回答的another answer。它顯示value財產的初始值如何在inline editing的情況下可以是重設。它使用form editing您應該在onClose事件處理程序中執行此操作。此外,在form editing的情況下,您必須使用recreateForm:true這將強制dataInit事件處理程序不會被調用一次,而是在每一行編輯。

+0

嘿奧列格,我檢查了它。它的工作正常。 – 2010-12-28 09:12:51

+0

嗨,你能請一個工作的例子嗎? – Anatoliy 2012-08-27 21:04:32

+0

對不起,但我目前正在出差,我非常忙於其他項目。所以我沒有時間準備新的例子。 – Oleg 2012-08-28 05:15:31