如何在页面加载时显示可编辑的 jqgrid 列
How to show jqgrid columns editable on page load
我正在处理 JQgrid,其中 2 列需要可编辑,我已经使用 colModel
中的以下选项实现了它。
{
name: 'Action',
index: 'Action',
editable: true,
edittype: "select",
formatter: 'select',
editoptions: {
value: {
1: 'Approve',
2: 'Reject'
}
},
editrules: {
required: true,
custom: true,
custom_func: actionCheck
}
},
及以下两个选项 jqgrid
cellEdit: true,
cellsubmit: 'clientArray',
但是有了这个,我必须单击该列才能对其进行编辑。
我还有一个名为 comments
和 edittype:"textarea"
的列。
我想要的是,当用户打开页面时,他们会在所有行的两列中看到下拉菜单和文本区域,当他们在输入数据后单击提交按钮时,我将所有这些都放在一个数组中,我将然后用于更新我的 SharePoint 列表。
这可能吗?如果可以,请告诉我怎么做。
这是我目前拥有的,
使用 celEdit,您无法为所欲为。您可以使用两种方法 editRow 和 saveRow。为此,请检查文档。
想法是在加载数据后调用editRow。这可以在 jqGrid 代码之后使用 setTimeout 函数来完成。使这两个字段可编辑并执行。
...
jqGrid({
...
});
setTimeout(function() {
var grid = $("#jqGrid");
var ids = grid.jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
grid.jqGrid('editRow',ids[i]);
}
}, 800);
之后您可以保存点击按钮的数据。该按钮应在 DOM.
中的某处定义
function saveRows() {
var grid = $("#jqGrid");
var ids = grid.jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
grid.jqGrid('saveRow', ids[i]);
}
}
请勾选相似的example here
我正在处理 JQgrid,其中 2 列需要可编辑,我已经使用 colModel
中的以下选项实现了它。
{
name: 'Action',
index: 'Action',
editable: true,
edittype: "select",
formatter: 'select',
editoptions: {
value: {
1: 'Approve',
2: 'Reject'
}
},
editrules: {
required: true,
custom: true,
custom_func: actionCheck
}
},
及以下两个选项 jqgrid
cellEdit: true,
cellsubmit: 'clientArray',
但是有了这个,我必须单击该列才能对其进行编辑。
我还有一个名为 comments
和 edittype:"textarea"
的列。
我想要的是,当用户打开页面时,他们会在所有行的两列中看到下拉菜单和文本区域,当他们在输入数据后单击提交按钮时,我将所有这些都放在一个数组中,我将然后用于更新我的 SharePoint 列表。
这可能吗?如果可以,请告诉我怎么做。
这是我目前拥有的,
使用 celEdit,您无法为所欲为。您可以使用两种方法 editRow 和 saveRow。为此,请检查文档。
想法是在加载数据后调用editRow。这可以在 jqGrid 代码之后使用 setTimeout 函数来完成。使这两个字段可编辑并执行。
...
jqGrid({
...
});
setTimeout(function() {
var grid = $("#jqGrid");
var ids = grid.jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
grid.jqGrid('editRow',ids[i]);
}
}, 800);
之后您可以保存点击按钮的数据。该按钮应在 DOM.
中的某处定义 function saveRows() {
var grid = $("#jqGrid");
var ids = grid.jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
grid.jqGrid('saveRow', ids[i]);
}
}
请勾选相似的example here