我有一个可编辑的网格。当网格加载时,我想要特定列的所有单元格 处于编辑模式,即准备好进行数据捕获。我试过这个,但它只放了最后一个单元格 在编辑模式下。我怎样才能做到这一点?
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
答案 0 :(得分:1)
我不建议你这样做。
如果在单元格编辑模式下设置每个单元格,哪个优势会有网格?网格的加载速度会慢得多。如果某个单元格处于编辑模式,则显示未保存的数据。只有在停止编辑时才会保存单元格。因此,用户可能会修改数据,修改后的值根本不会保存。所以一些变化可能会消失。
此外,您将无法使用getCell
和getRowData
等方法,因为这些方法不适用于编辑单元格。
因此,如果您实施了所要求的内容,则必须执行许多其他工作以使用户的更改不被丢弃,并且您将无法访问数据。我可以重复我的答案的第一句话:我不建议你这样做。