0
我有一个可编辑的网格。当网格加载时,我希望特定列 的所有单元处于编辑模式,即准备好数据捕获。我试过这个,但它只把最后一个单元格 置于编辑模式。我怎样才能做到这一点?如何在jqgrid中启用所有单元格的编辑单元格
function doGridComplete()
{
var ids = $("#myGrid").jqGrid('getDataIDs');
var grid = $("#myGrid");
var marksColIdx = getColumnIndexByName(grid, 'marksObtained');
var rowId = 1;
for(var i = 0; i < ids.length; i++)
{
//Edit all cells
grid.jqGrid('editCell', rowId, marksColIdx, true);
rowId++;
}
}
var getColumnIndexByName = function(gr,columnName) {
var cm = gr.jqGrid('getGridParam','colModel');
for (var i=0,l=cm.length; i<l; i++) {
if (cm[i].name===columnName) {
return i; // return the index
}
}
return -1;
};
我调用该函数doGridComplete()
在loadComplete
即 loadComplete : doGridComplete
你是对的。我希望用户能够灵活地为所有单元格同时输入所有值,以便我可以一次手动提交所有值。我的一些用户的互联网连接性差,因此一次接一个地编辑大约100行将需要更长的时间(即100次访问服务器),而不是一次输入所有值并提交一次。这实际上是我这样做的原因。请,你有什么建议。 –
@UchennaNwanyanwu:用户无法同时编辑多个单元格。用户编辑一个接一个的单元格。如果您不想在修改每个单元格后进行保存,您可以使用*本地编辑*,然后将所有修改的数据发送到服务器。如果你需要本地编辑,你可以先填充* local * grid:'datatype:“local”'或'datatype:“json”'和'localonce:true'。然后你可以使用'cellsubmit:“clientArray”'(在单元格编辑的情况下)。此外,您可以提供“发送到服务器”按钮,它可以通过'getGridParam(“data”)获得所有本地数据*并将其发送到服务器。 – Oleg
非常感谢。我认为这样更好。 –