jqGrid的serializeCellData如何工作?

时间:2011-05-18 13:38:46

标签: jqgrid

我认为serializeCellData对我有用,但我不确定它是如何工作的以及按事件顺序调用它的位置。 serializeCellData(postdata)是否定义了其他事件参数rowid,cellname,value,iRow和iCol?它可以用于将postdata信息添加到例如AfterSaveCell之后,现在它需要超过5个参数吗?

在我的代码中,我正在使用单元格编辑对数据进行本地修改。

1 个答案:

答案 0 :(得分:2)

serializeCellData事件可用于自定义在单元格提交时将发送到服务器的数据。仅当cellsubmit选项设置为“远程”时才会使用它。例如,如果我们保存名为'mycell'的单元格(“mycell”列中的单元格),则对象{id: theRowId, mycell: cellValue}将用作serializeCellData事件的postdata参数。如果需要,您可以分析输入并从serializeCellData返回{rowid: theRowId, cellname:mycell, value: cellvalue}之类的对象。如果您需要访问其他信息,例如iRowiCol,则可以另外执行beforeSubmitCell,请在外部作用域中的变量中保存所需的参数值。 beforeSubmitCellserializeCellData。然后,您可以在beforeSubmitCell内看到serializeCellData保存的值,并附加serializeCellData返回的对象。

我上面描述的只是一些remrks如何使用serializeCellData事件。如果从serializeCellData事件处理程序返回字符串而不是obect,那么字符串将由jQuery.ajax发送,就像它一样。因此,如果您需要将JSON数据发送到服务器,您可以执行以下操作

serializeCellData: function(postdata) {
    return JSON.stringify(postdata);
}

因此,serializeCellData事件可用于不同的情况,并为您提供真正完全控制,这些数据将准确地发送到服务器。