2011-12-01 57 views
0

link有:jqGrid的在线编辑方法

editRow 

Calling conventions: 

jQuery("#grid_id").editRow(rowid, keys, oneditfunc, succesfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc); 

or when we use the new API 

jQuery("#grid_id").jqGrid('editRow',rowid, keys, oneditfunc, succesfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc); 

我明白这一个:

jQuery("#grid_id").editRow(rowid, keys, oneditfunc, succesfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc); 

是一个实际调用编辑与行ID ROWID的行。所以它实际上把行放到编辑模式。

在我的jqGrid它设置,使每一行都有一个铅笔图标旁边,你点击它来编辑的行”

enter image description here

所以,很显然我没有手动调用该方法编辑但是编辑铅笔点击是自动调用编辑

我想要设置的是,以便在编辑完成后单击保存图标,我想要它,所以在保存一个方法之后调用即:

function reload(rowid, result) { 
      alert("Hi"); 
       $("#list").trigger("reloadGrid"); 
      } 

所以我想利用他们与新的API使用指定的代码:

jQuery("#grid_id").jqGrid('editRow',rowid, keys, '', reload); 

我不知道这是如何工作,但我把我的这个网后。我知道这不是一个方法调用,而是设置它来告诉它在发生editRow时该怎么做。

好吧,它不起作用。

有人能告诉我我误解了代码实际上做了什么吗?如果是的话它有什么作用?如何在为我的场景提交后实现方法调用?

回答

1

如果我理解正确的话,你应该使用的editRowaftersavefunc而不是succesfunc参数。

如果您使用formatter: 'actions'那么您应该使用formatoptionsafterSave财产。我建议你看看the answer,这是我第一次体验到formatter: 'actions',并且代码中的注释给出了一些额外的建议。

+0

很酷,谢谢你的回答。一直在挣扎。 – AnonyMouse

+0

@AnonyMouse:不客气! – Oleg