2010-12-18 32 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