标签:
行编辑可以在行修改后更新数据,如下图所示
用户用鼠标点击选择一行,jqGrid将可编辑的字段转换为数据输入单元,如上面图所示。不可编辑的列,如id,不会转为可输入单元,而是保持不变。可以通过配置colModel来实现。完成修改后,按下“enter”键提交数据到服务器。
要使用行编辑功能,需要在jqGrid下载页面勾选Inline Editing和Common modules,然后下载。下载地址:http://www.trirand.com/blog/?page_id=6
要看元代可以从src目录中找到 grid.inlinedit.js这个文件
属于行编辑的属性,事件和方法是jqGrid选项配置中的一个子集。
有5个属于行编辑的附加方法
需要在一个已经创建的jqGrid实例上调用这些方法,可以在事件中或者点击按钮触发这些事件。
Exmaple
JavaScript
代码上面的示例中,在将被选中的行转为编辑模式前,判断是否已经存在编辑的行,存在则取消此行编辑模式还原为原始状态。如果你想保持数据而不是还原为原始状态,可以使用saveRow替代restoreRow方法。
调用方式
JavaScript
代码新版本jqGrid API调用方式
JavaScript
代码editRow参数配置说明
拥有‘not-editable-row‘ 样式的行不可编辑,即使colModel中配置了某些列能编辑。
设置editRow方法的oneditfunc为某个函数的句柄,例如func为一个函数,不能设置为字符串"func"或者func()这种格式,传递func即可。
jqGrid4+,可以传递对象作为配置值,如下示JavaScript
代码editRow默认配置如下
JavaScript
代码如果key配置为true,那么 successfunc, url, extraparam, aftersavefunc, errorfunc 和 afterrestorefunc这些配置将作为参数传递给saveRow方法当按下 [Enter] 键时(saveRow) (saveRow不需要定义,jqGrid会自动调用它)。
当调用此方法编辑指定的某行时,jqGrid读取可编辑字段的内容,依据edittype和editoptions自动生成对应的输入控件。
保存被编辑的行,调用方式
JavaScript
代码新版本调用方式
JavaScript
代码jqGrid4+版本可以传递对象作为配置值,如下
JavaScript
代码saveRow默认参数配置如下
JavaScript
代码saveRow参数配置说明
传递给saveRow配置值为函数的,需要传递函数句柄,如函数func,不能设置为"func"或者func(),配置为func即可
url(或者jqGrid配置中的editurl)未配置为 ‘clientArray‘,调用此方法,数据行数据将将会以键值对形式提交到服务器,键名称来源于colModel配置的name,同时jqGrid会附加上id:rowid。如
JavaScript
代码将保存数据到grid中并同时发送到服务器保存,而
JavaScript
代码仅保存数据到grid中,而不会发送ajax请求服务器。新版本API调用方式
JavaScript
代码以对象作为参数的调用形式
JavaScript
代码有2个附加的配置可以在jqGrid中设置。
配置名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
ajaxRowOptions | object | 设置提交数据到服务器的ajax请求全局设置。可以重写当前所有保存数据ajax请求配置,包括complete事件 | empty object |
serializeRowData | postdata | 配置此事件可以序列化传递给保存数据行的ajax的数据。配置的函数需要返回序列化后的数据。当需要发送自定义数据时可以使用这个配置,例如,json、xml格式的字符串等,传递给配置函数的参数为发往服务器的数据。 | null |
此方法将正在编辑的行还原为上一次成功保存的值。
调用方式
JavaScript
代码新API调用方式
JavaScript
代码jqGrid4+可以将参数作为对象传递,如下
JavaScript
代码默认配置如下
JavaScript
代码restoreRow参数说明
行编辑模式下新增一行数据,调用方式
JavaScript
代码新API调用方式
JavaScript
代码parameters默认值如下
JavaScript
代码addRow方法配置说明
调用这个方法,实际调用了2个已经存在的方法来实现,首先调用addRowData添加一行本地数据,然后调用editRow方法编辑此行。addRowParams设置了key为true,按下ESC键会删除此行数据
添加导航操作按钮对应行编辑的addRow, editRow, saveRow, restoreRow方法。要使用此方法,需要首选调用navGrid方法。
调用方式
JavaScript
代码新API调用方式
JavaScript
代码parameters默认值如下
JavaScript
代码配置名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
add | boolean | 是否在导航栏中显示添加操作。点击这个按钮将会调用addRow(addParams)方法 | true |
addicon | string | 设置添加按钮的图标。目前仅能设置为UI主题中的图标 | ui-icon-plus |
addtext | string | 在添加按钮中显示的文本内容 | 空值 |
addtitle | string | 鼠标移动到添加按钮上时显示的提示信息 | Add new row |
edit | boolean | 是否在导航栏中显示编辑操作。点击这个按钮将会调用editRow(editParams)方法(注意需要选中一行,选中多行编辑最后一次选中的) | true |
editicon | string | 设置编辑按钮的图标。目前仅能设置为UI主题中的图标 | ui-icon-pencil |
edittext | string | 在编辑按钮中显示的文本内容 | empty |
edittitle | string | 鼠标移动到编辑按钮上时显示的提示信息 | Edit selected row |
position | string | 定义操作按钮在导航栏中的位置,可以为left,center,right | left |
save | boolean | 是否在导航栏中显示保存操作。点击这个按钮将会调用saveRow(editParams)方法 | true |
saveicon | string | 设置保存按钮的图标。目前仅能设置为UI主题中的图标 | ui-icon-disk |
savetext | string | 在保存按钮中显示的文本内容 | empty |
savetitle | string | 鼠标移动到保存按钮上时显示的提示信息 | Save row |
cancel | boolean | 是否在导航栏中显示取消操作。点击这个按钮将会调用restoreRow(editParams)方法 | true |
cancelicon | string | 设置取消按钮的图标。目前仅能设置为UI主题中的图标 | ui-icon-cancel |
canceltext | string | 在取消按钮中显示的文本内容 | empty |
canceltitle | string | 鼠标移动到取消按钮上时显示的提示信息 | Cancel trow editiong |
addParams | object | 点击添加按钮后传递给addRow方法的参数,详细信息参考上面的addRow参数 | {useFormatter : false} |
editParams | object | 点击导航栏按钮的编辑,保存,取消按钮,传递给 editRow, saveRow, restoreRow 方法的参数。请参考相关方法获取更多信息 | {} |
编辑某行及输入控件组成规则如下
提交到服务器的数据包含如下提到的内容
HTML
代码 运行代码 [如果运行无效果,请自行将源代码保存为html文件运行]来源:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing
标签:
原文地址:http://blog.csdn.net/tfy1332/article/details/51241020